Class DigestAuthentication

    • Constructor Detail

      • DigestAuthentication

        public DigestAuthentication​(java.net.URI uri,
                                    java.lang.String realm,
                                    java.lang.String user,
                                    java.lang.String password)
        Construct a DigestAuthentication with a SecureRandom nonce.
        Parameters:
        uri - the URI to match for the authentication
        realm - the realm to match for the authentication
        user - the user that wants to authenticate
        password - the password of the user
      • DigestAuthentication

        public DigestAuthentication​(java.net.URI uri,
                                    java.lang.String realm,
                                    java.lang.String user,
                                    java.lang.String password,
                                    java.util.Random random)
        Parameters:
        uri - the URI to match for the authentication
        realm - the realm to match for the authentication
        user - the user that wants to authenticate
        password - the password of the user
        random - the Random generator to use for nonces.
    • Method Detail

      • matches

        public boolean matches​(java.lang.String type,
                               java.net.URI uri,
                               java.lang.String realm)
        Description copied from interface: Authentication
        Matches Authentications based on the given parameters
        Specified by:
        matches in interface Authentication
        Overrides:
        matches in class AbstractAuthentication
        Parameters:
        type - the Authentication type such as "Basic" or "Digest"
        uri - the request URI
        realm - the authentication realm as provided in the WWW-Authenticate response header
        Returns:
        true if this authentication matches, false otherwise
      • authenticate

        public Authentication.Result authenticate​(Request request,
                                                  ContentResponse response,
                                                  Authentication.HeaderInfo headerInfo,
                                                  Attributes context)
        Description copied from interface: Authentication
        Executes the authentication mechanism for the given request, returning a Authentication.Result that can be used to actually authenticate the request via Authentication.Result.apply(Request).

        If a request for "/secure" returns a Authentication.Result, then the result may be used for other requests such as "/secure/foo" or "/secure/bar", unless those resources are protected by other realms.

        Parameters:
        request - the request to execute the authentication mechanism for
        response - the 401 response obtained in the previous attempt to request the protected resource
        headerInfo - the WWW-Authenticate (or Proxy-Authenticate) header chosen for this authentication (among the many that the response may contain)
        context - the conversation context in case the authentication needs multiple exchanges to be completed and information needs to be stored across exchanges
        Returns:
        the authentication result, or null if the authentication could not be performed