public class DigestScheme extends Object implements AuthScheme, Serializable
Since the digest username is included as clear text in the generated Authentication header, the charset of the username must be compatible with the HTTP element charset used by the connection.
| Constructor and Description | 
|---|
| DigestScheme() | 
| DigestScheme(Charset charset)Deprecated. 
 This constructor is deprecated to enforce the use of  StandardCharsets.UTF_8encoding
 in compliance with RFC 7616 for HTTP Digest Access Authentication. Use the default constructorDigestScheme()instead. | 
| Modifier and Type | Method and Description | 
|---|---|
| String | generateAuthResponse(org.apache.hc.core5.http.HttpHost host,
                    org.apache.hc.core5.http.HttpRequest request,
                    org.apache.hc.core5.http.protocol.HttpContext context)Generates an authorization response based on the current state. | 
| String | getCnonce() | 
| String | getName()Returns textual designation of the given authentication scheme. | 
| String | getNonce() | 
| long | getNounceCount() | 
| Principal | getPrincipal()Returns  Principalwhose credentials are used to generate
 an authentication response. | 
| String | getRealm()Returns authentication realm. | 
| void | initPreemptive(Credentials credentials,
              String cnonce,
              String realm) | 
| boolean | isChallengeComplete()Authentication process may involve a series of challenge-response exchanges. | 
| boolean | isConnectionBased()Determines if the authentication scheme is expected to provide an authorization response
 on a per connection basis instead of the standard per request basis | 
| boolean | isResponseReady(org.apache.hc.core5.http.HttpHost host,
               CredentialsProvider credentialsProvider,
               org.apache.hc.core5.http.protocol.HttpContext context)Determines whether or not an authorization response can be generated based on
 the actual authentication state. | 
| void | processChallenge(AuthChallenge authChallenge,
                org.apache.hc.core5.http.protocol.HttpContext context)Processes the given auth challenge. | 
| String | toString() | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitisChallengeExpected, processChallengepublic DigestScheme()
@Deprecated public DigestScheme(Charset charset)
StandardCharsets.UTF_8 encoding
 in compliance with RFC 7616 for HTTP Digest Access Authentication. Use the default constructor DigestScheme() instead.charset - the Charset set to be used for encoding credentials. This parameter is ignored as UTF-8 is always used.public void initPreemptive(Credentials credentials, String cnonce, String realm)
public String getName()
AuthSchemegetName in interface AuthSchemepublic boolean isConnectionBased()
AuthSchemeisConnectionBased in interface AuthSchemetrue if the scheme is connection based, false
 if the scheme is request based.public String getRealm()
AuthSchemenull.getRealm in interface AuthSchemepublic void processChallenge(AuthChallenge authChallenge, org.apache.hc.core5.http.protocol.HttpContext context) throws MalformedChallengeException
AuthScheme
 Please note auth schemes that perform mutual authentication must implement
 AuthScheme.processChallenge(HttpHost, boolean, AuthChallenge, HttpContext) and
 AuthScheme.isChallengeExpected() instead.
processChallenge in interface AuthSchemeauthChallenge - the auth challengecontext - HTTP contextMalformedChallengeException - in case the auth challenge is incomplete,
 malformed or otherwise invalid.AuthScheme.processChallenge(HttpHost, boolean, AuthChallenge, HttpContext)public boolean isChallengeComplete()
AuthScheme
 Please note if the scheme returns true from this method in response
 to a challenge, it effectively implies a failure to respond to this challenge
 and termination of the authentication process.
isChallengeComplete in interface AuthSchemetrue if the authentication process has been completed,
 false otherwise.public boolean isResponseReady(org.apache.hc.core5.http.HttpHost host,
                               CredentialsProvider credentialsProvider,
                               org.apache.hc.core5.http.protocol.HttpContext context)
                        throws AuthenticationException
AuthSchemeisResponseReady in interface AuthSchemecredentialsProvider - The credentials to be used for authenticationcontext - HTTP contexttrue if an authorization response can be generated and
 the authentication handshake can proceed, false otherwise.AuthenticationException - if authorization string cannot
   be generated due to an authentication failurepublic Principal getPrincipal()
AuthSchemePrincipal whose credentials are used to generate
 an authentication response. Connection based schemes are required
 to return a user Principal if authorization applies to
 for the entire life span of connection.getPrincipal in interface AuthSchemeAuthScheme.isConnectionBased()public String generateAuthResponse(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.protocol.HttpContext context) throws AuthenticationException
AuthSchemeCredentialsProvider prior to this method call.generateAuthResponse in interface AuthSchemerequest - The request being authenticatedcontext - HTTP contextAuthenticationException - if authorization string cannot
   be generated due to an authentication failureAuthScheme.isResponseReady(HttpHost, CredentialsProvider, HttpContext)@Internal public String getNonce()
@Internal public long getNounceCount()
@Internal public String getCnonce()
Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.