Package org.eclipse.jetty.client.api
Interface Authentication
-
- All Known Implementing Classes:
AbstractAuthentication,BasicAuthentication,DigestAuthentication,SPNEGOAuthentication
public interface AuthenticationAuthenticationrepresents a mechanism to authenticate requests for protected resources.Authentications are added to anAuthenticationStore, which is thenqueriedto find the rightAuthenticationmechanism to use based on its type, URI and realm, as returned byWWW-Authenticateresponse headers.If an
Authenticationmechanism is found, it is thenexecutedfor the given request, returning anAuthentication.Result, which is then stored in theAuthenticationStoreso that subsequent requests can be preemptively authenticated.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classAuthentication.HeaderInfoStructure holding information about theWWW-Authenticate(orProxy-Authenticate) header.static interfaceAuthentication.ResultAuthentication.Resultholds the information needed to authenticate aRequestviaAuthentication.Result.apply(org.eclipse.jetty.client.api.Request).
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringANY_REALMConstant used to indicate that any realm will match.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Authentication.Resultauthenticate(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).booleanmatches(java.lang.String type, java.net.URI uri, java.lang.String realm)MatchesAuthentications based on the given parameters
-
-
-
Method Detail
-
matches
boolean matches(java.lang.String type, java.net.URI uri, java.lang.String realm)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
-
-