BasicAuthenticator (Java SE 15 & JDK 15)
Description: declaration: module: jdk.httpserver, package: com.sun.net.httpserver, class: BasicAuthenticator
Keywords: com.sun.net.httpserver.BasicAuthenticator class

Module jdk.httpserver
Package com.sun.net.httpserver

# Class BasicAuthenticator

java.lang.Object
com.sun.net.httpserver.Authenticator
com.sun.net.httpserver.BasicAuthenticator

    public abstract class BasicAuthenticator
    extends Authenticator

BasicAuthenticator provides an implementation of HTTP Basic authentication. It is an abstract class and must be extended to provide an implementation of `checkCredentials(String,String)` which is called to verify each incoming request.

- ## Nested Class Summary

  ## Nested classes/interfaces declared in class com.sun.net.httpserver.Authenticator

  `Authenticator.Failure, Authenticator.Result, Authenticator.Retry, Authenticator.Success`

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `protected String` | `realm` |

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `BasicAuthenticator​(String realm)` | Creates a BasicAuthenticator for the given HTTP realm.
  `BasicAuthenticator​(String realm, Charset charset)` | Creates a BasicAuthenticator for the given HTTP realm and using the given `Charset` to decode the Basic authentication credentials (username and password).

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `abstract boolean` | `checkCredentials​(String username, String password)` | called for each incoming request to verify the given name and password in the context of this Authenticator's realm.
  `String` | `getRealm()` | returns the realm this BasicAuthenticator was created with

  ### Methods declared in class com.sun.net.httpserver.Authenticator

  `authenticate`

  ### Methods declared in class java.lang.Object

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

- ## Field Details

  - ### realm

    protected final String realm

- ## Constructor Details

  - ### BasicAuthenticator

    public BasicAuthenticator​(String realm)
    Creates a BasicAuthenticator for the given HTTP realm. The Basic authentication credentials (username and password) are decoded using the platform's `default character set`.
    Parameters:
      `realm` - The HTTP Basic authentication realm
    Throws:
      `NullPointerException` - if realm is `null`
      `IllegalArgumentException` - if realm is an empty string

  - ### BasicAuthenticator

    public BasicAuthenticator​(String realm, Charset charset)
    Creates a BasicAuthenticator for the given HTTP realm and using the given `Charset` to decode the Basic authentication credentials (username and password).
    API Note:
      `UTF-8` is the recommended charset because its usage is communicated to the client, and therefore more likely to be used also by the client.
    Parameters:
      `realm` - The HTTP Basic authentication realm
      `charset` - The Charset to decode incoming credentials from the client
    Throws:
      `NullPointerException` - if realm or charset are `null`
      `IllegalArgumentException` - if realm is an empty string

- ## Method Details

  - ### getRealm

    public String getRealm()
    returns the realm this BasicAuthenticator was created with
    Returns:
      the authenticator's realm string.

  - ### checkCredentials

    public abstract boolean checkCredentials​(String username, String password)
    called for each incoming request to verify the given name and password in the context of this Authenticator's realm. Any caching of credentials must be done by the implementation of this method
    Parameters:
      `username` - the username from the request
      `password` - the password from the request
    Returns:
      `true` if the credentials are valid, `false` otherwise.