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 java.lang.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 Deprecated Methods
`abstract java.lang.String` `getAuthorization​(java.lang.String requestUri, java.lang.String authenticateHeader, java.lang.String userName, java.lang.String userPassword, java.lang.String userRealm)` Generate the authorization header value that will be sent to the server.
`java.lang.String` `getAuthorization​(java.lang.String requestUri, java.lang.String authenticateHeader, java.util.Map<java.lang.String,​java.lang.Object> userProperties)` Deprecated. Use `getAuthorization(String, String, String, String, String)`.
`abstract java.lang.String` `getSchemeName()` Get the authentication method.
`java.util.Map<java.lang.String,​java.lang.String>` `parseAuthenticateHeader​(java.lang.String authenticateHeader)` Utility method to parse the authentication header.
`java.util.Map<java.lang.String,​java.lang.String>` `parseWWWAuthenticateHeader​(java.lang.String authenticateHeader)` Deprecated. Use `parseAuthenticateHeader(String)`.
`protected void` `validatePassword​(java.lang.String password)`
`protected void` `validateRealm​(java.lang.String userRealm, java.lang.String serverRealm)`
`protected void` `validateUsername​(java.lang.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

    @Deprecated
    public java.lang.String getAuthorization​(java.lang.String requestUri,
                                             java.lang.String authenticateHeader,
                                             java.util.Map<java.lang.String,​java.lang.Object> userProperties)
                                      throws AuthenticationException

Deprecated.
Use `getAuthorization(String, String, String, String, String)`. Will be removed in Tomcat 10.1.x
Generate the authorization header value that will be sent to the server.

Parameters:
  `requestUri` - The request URI
  `authenticateHeader` - The server authentication header received
  `userProperties` - The user information
Returns:
  The generated authorization header value
Throws:
  `AuthenticationException` - When an error occurs

#### getAuthorization

    public abstract java.lang.String getAuthorization​(java.lang.String requestUri,
                                                      java.lang.String authenticateHeader,
                                                      java.lang.String userName,
                                                      java.lang.String userPassword,
                                                      java.lang.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 java.lang.String getSchemeName()

Get the authentication method.

Returns:
  the authentication scheme

#### parseWWWAuthenticateHeader

    @Deprecated
    public java.util.Map<java.lang.String,​java.lang.String> parseWWWAuthenticateHeader​(java.lang.String authenticateHeader)

Deprecated.
Use `parseAuthenticateHeader(String)`. Will be removed in Tomcat 10.1.x onwards
Utility method to parse the authentication header.

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

#### parseAuthenticateHeader

    public java.util.Map<java.lang.String,​java.lang.String> parseAuthenticateHeader​(java.lang.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​(java.lang.String userName)
                             throws AuthenticationException

Throws:
  `AuthenticationException`

#### validatePassword

    protected void validatePassword​(java.lang.String password)
                             throws AuthenticationException

Throws:
  `AuthenticationException`

#### validateRealm

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

Throws:
  `AuthenticationException`