Class DigestAuthentication
java.lang.Object
org.eclipse.jetty.client.AbstractAuthentication
org.eclipse.jetty.client.DigestAuthentication
- All Implemented Interfaces:
Authentication
Implementation of the HTTP "Digest" authentication defined in RFC 2617.
Applications should create objects of this class and add them to the
AuthenticationStore retrieved from the HttpClient
via HttpClient.getAuthenticationStore().
-
Nested Class Summary
Nested classes/interfaces inherited from interface Authentication
Authentication.HeaderInfo, Authentication.Result -
Field Summary
Fields inherited from interface Authentication
ANY_REALM -
Constructor Summary
ConstructorsConstructorDescriptionDigestAuthentication(URI uri, String realm, String user, String password) Construct a DigestAuthentication with aSecureRandomnonce. -
Method Summary
Modifier and TypeMethodDescriptionauthenticate(Request request, ContentResponse response, Authentication.HeaderInfo headerInfo, Attributes context) Executes the authentication mechanism for the given request, returning aAuthentication.Resultthat can be used to actually authenticate the request viaAuthentication.Result.apply(Request).getType()booleanMatchesAuthentications based on the given parametersMethods inherited from class AbstractAuthentication
getRealm, getURI, matchesURI
-
Constructor Details
-
DigestAuthentication
Construct a DigestAuthentication with aSecureRandomnonce.- Parameters:
uri- the URI to match for the authenticationrealm- the realm to match for the authenticationuser- the user that wants to authenticatepassword- the password of the user
-
DigestAuthentication
- Parameters:
uri- the URI to match for the authenticationrealm- the realm to match for the authenticationuser- the user that wants to authenticatepassword- the password of the userrandom- the Random generator to use for nonces.
-
-
Method Details
-
getType
- Specified by:
getTypein classAbstractAuthentication
-
matches
Description copied from interface:AuthenticationMatchesAuthentications based on the given parameters- Specified by:
matchesin interfaceAuthentication- Overrides:
matchesin classAbstractAuthentication- Parameters:
type- theAuthenticationtype such as "Basic" or "Digest"uri- the request URIrealm- the authentication realm as provided in theWWW-Authenticateresponse 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:AuthenticationExecutes the authentication mechanism for the given request, returning aAuthentication.Resultthat can be used to actually authenticate the request viaAuthentication.Result.apply(Request).If a request for
"/secure"returns aAuthentication.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 forresponse- the 401 response obtained in the previous attempt to request the protected resourceheaderInfo- theWWW-Authenticate(orProxy-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
-