Package org.eclipse.jetty.client.api
Interface Authentication
- All Known Implementing Classes:
AbstractAuthentication,BasicAuthentication,DigestAuthentication,SPNEGOAuthentication
public interface Authentication
Authentication represents a mechanism to authenticate requests for protected resources.
Authentications are added to an AuthenticationStore, which is then
queried to find the right
Authentication mechanism to use based on its type, URI and realm, as returned by
WWW-Authenticate response headers.
If an Authentication mechanism is found, it is then
executed for the given request,
returning an Authentication.Result, which is then stored in the AuthenticationStore
so that subsequent requests can be preemptively authenticated.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classStructure holding information about theWWW-Authenticate(orProxy-Authenticate) header.static interfaceAuthentication.Resultholds the information needed to authenticate aRequestviaAuthentication.Result.apply(org.eclipse.jetty.client.api.Request). -
Field Summary
Fields -
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).booleanMatchesAuthentications based on the given parameters
-
Field Details
-
ANY_REALM
Constant used to indicate that any realm will match.
-
-
Method Details
-
matches
MatchesAuthentications based on the given parameters- 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
Authentication.Result authenticate(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).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
-