Package org.apache.tomcat.websocket

## Class Authenticator

- java.lang.Object
- - org.apache.tomcat.websocket.Authenticator

Direct Known Subclasses:
  `BasicAuthenticator`, `DigestAuthenticator`

    public abstract class Authenticator
    extends Object

Base class for the authentication methods used by the WebSocket client.

### Constructor Summary

Constructors
`Authenticator()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`abstract String` `getAuthorization​(String requestUri, String authenticateHeader, String userName, String userPassword, String userRealm)` Generate the authorization header value that will be sent to the server.
`abstract String` `getSchemeName()` Get the authentication method.
`Map<String,​String>` `parseAuthenticateHeader​(String authenticateHeader)` Utility method to parse the authentication header.
`protected void` `validatePassword​(String password)`
`protected void` `validateRealm​(String userRealm, String serverRealm)`
`protected void` `validateUsername​(String userName)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Authenticator

    public Authenticator()

### Method Detail

#### getAuthorization

    public abstract String getAuthorization​(String requestUri,
                                            String authenticateHeader,
                                            String userName,
                                            String userPassword,
                                            String userRealm)
                                     throws AuthenticationException

Generate the authorization header value that will be sent to the server.

Parameters:
  `requestUri` - The request URI
  `authenticateHeader` - The server authentication header received
  `userName` - The user name
  `userPassword` - The user password
  `userRealm` - The realm for which the provided user name and password are valid. `null` to indicate all realms.
Returns:
  The generated authorization header value
Throws:
  `AuthenticationException` - When an error occurs

#### getSchemeName

    public abstract String getSchemeName()

Get the authentication method.

Returns:
  the authentication scheme

#### parseAuthenticateHeader

    public Map<String,​String> parseAuthenticateHeader​(String authenticateHeader)

Utility method to parse the authentication header.

Parameters:
  `authenticateHeader` - The server authenticate header received
Returns:
  a map of authentication parameter names and values

#### validateUsername

    protected void validateUsername​(String userName)
                             throws AuthenticationException

Throws:
  `AuthenticationException`

#### validatePassword

    protected void validatePassword​(String password)
                             throws AuthenticationException

Throws:
  `AuthenticationException`

#### validateRealm

    protected void validateRealm​(String userRealm,
                                 String serverRealm)
                          throws AuthenticationException

Throws:
  `AuthenticationException`