Class DigestScheme
java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.auth.RFC2617Scheme
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.auth.DigestScheme
- All Implemented Interfaces:
AuthScheme
Digest authentication scheme as defined in RFC 2617. Both MD5 (default) and MD5-sess are supported. Currently only qop=auth or no qop is supported. qop=auth-int is unsupported. If auth and auth-int are provided, auth is used.
Credential charset is configured via the
credential
charset
parameter. 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
.
-
Constructor Summary
ConstructorDescriptionDefault constructor for the digest authetication scheme.DigestScheme
(String challenge) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionauthenticate
(Credentials credentials, HttpMethod method) Produces a digest authorization string for the given set ofCredentials
, method name and URI.authenticate
(Credentials credentials, String method, String uri) Deprecated.static String
Creates a random cnonce value based on the current time.getID()
Deprecated.no longer usedReturns textual designation of the digest authentication scheme.boolean
Tests if the Digest authentication process has been completed.boolean
Returns false.void
processChallenge
(String challenge) Processes the Digest challenge.Methods inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.auth.RFC2617Scheme
getParameter, getParameters, getRealm
-
Constructor Details
-
DigestScheme
public DigestScheme()Default constructor for the digest authetication scheme.- Since:
- 3.0
-
DigestScheme
Deprecated.Use parameterless constructor andAuthScheme.processChallenge(String)
methodConstructor for the digest authetication scheme.- Parameters:
challenge
- authentication challenge- Throws:
MalformedChallengeException
- is thrown if the authentication challenge is malformed
-
-
Method Details
-
getID
Deprecated.no longer usedGets an ID based upon the realm and the nonce value. This ensures that requests to the same realm with different nonce values will succeed. This differentiation allows servers to request re-authentication using a fresh nonce value.- Specified by:
getID
in interfaceAuthScheme
- Overrides:
getID
in classRFC2617Scheme
- Returns:
- String a String identifying the authentication challenge. The returned value may be null.
-
processChallenge
Processes the Digest challenge.- Specified by:
processChallenge
in interfaceAuthScheme
- Overrides:
processChallenge
in classRFC2617Scheme
- Parameters:
challenge
- the challenge string- Throws:
MalformedChallengeException
- is thrown if the authentication challenge is malformed- Since:
- 3.0
-
isComplete
public boolean isComplete()Tests if the Digest authentication process has been completed.- Returns:
- true if Digest authorization has been processed, false otherwise.
- Since:
- 3.0
-
getSchemeName
Returns textual designation of the digest authentication scheme.- Returns:
digest
-
isConnectionBased
public boolean isConnectionBased()Returns false. Digest authentication scheme is request based.- Returns:
- false.
- Since:
- 3.0
-
authenticate
public String authenticate(Credentials credentials, String method, String uri) throws AuthenticationException Deprecated.Produces a digest authorization string for the given set ofCredentials
, method name and URI.- Parameters:
credentials
- A set of credentials to be used for athenticationmethod
- the name of the method that requires authorization.uri
- The URI for which authorization is needed.- Returns:
- a digest authorization string
- Throws:
InvalidCredentialsException
- if authentication credentials are not valid or not applicable for this authentication schemeAuthenticationException
- if authorization string cannot be generated due to an authentication failure- See Also:
-
authenticate
public String authenticate(Credentials credentials, HttpMethod method) throws AuthenticationException Produces a digest authorization string for the given set ofCredentials
, method name and URI.- Parameters:
credentials
- A set of credentials to be used for athenticationmethod
- The method being authenticated- Returns:
- a digest authorization string
- Throws:
InvalidCredentialsException
- if authentication credentials are not valid or not applicable for this authentication schemeAuthenticationException
- if authorization string cannot be generated due to an authentication failure- Since:
- 3.0
-
createCnonce
Creates a random cnonce value based on the current time.- Returns:
- The cnonce value as String.
- Throws:
HttpClientError
- if MD5 algorithm is not supported.
-
AuthScheme.processChallenge(String)
method