Package org.apache.http.auth
Interface AuthScheme
-
- All Known Subinterfaces:
ContextAwareAuthScheme
- All Known Implementing Classes:
AuthSchemeBase,BasicScheme,DigestScheme,GGSSchemeBase,KerberosScheme,NegotiateScheme,NTLMScheme,RFC2617Scheme,SPNegoScheme
public interface AuthSchemeThis interface represents an abstract challenge-response oriented authentication scheme.An authentication scheme should be able to support the following functions:
- Parse and process the challenge sent by the target server in response to request for a protected resource
- Provide its textual designation
- Provide its parameters, if available
- Provide the realm this authentication scheme is applicable to, if available
- Generate authorization string for the given set of credentials and the HTTP request in response to the authorization challenge.
Authentication schemes may be stateful involving a series of challenge-response exchanges.
IMPORTANT: implementations of this interface MUST also implement
ContextAwareAuthSchemeinterface in order to remain API compatible with newer versions of HttpClient.- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description Headerauthenticate(Credentials credentials, HttpRequest request)java.lang.StringgetParameter(java.lang.String name)Returns authentication parameter with the given name, if available.java.lang.StringgetRealm()Returns authentication realm.java.lang.StringgetSchemeName()Returns textual designation of the given authentication scheme.booleanisComplete()Authentication process may involve a series of challenge-response exchanges.booleanisConnectionBased()Tests if the authentication scheme is provides authorization on a per connection basis instead of usual per request basisvoidprocessChallenge(Header header)Processes the given challenge token.
-
-
-
Method Detail
-
processChallenge
void processChallenge(Header header) throws MalformedChallengeException
Processes the given challenge token. Some authentication schemes may involve multiple challenge-response exchanges. Such schemes must be able to maintain the state information when dealing with sequential challenges- Parameters:
header- the challenge header- Throws:
MalformedChallengeException
-
getSchemeName
java.lang.String getSchemeName()
Returns textual designation of the given authentication scheme.- Returns:
- the name of the given authentication scheme
-
getParameter
java.lang.String getParameter(java.lang.String name)
Returns authentication parameter with the given name, if available.- Parameters:
name- The name of the parameter to be returned- Returns:
- the parameter with the given name
-
getRealm
java.lang.String getRealm()
Returns authentication realm. If the concept of an authentication realm is not applicable to the given authentication scheme, returnsnull.- Returns:
- the authentication realm
-
isConnectionBased
boolean isConnectionBased()
Tests if the authentication scheme is provides authorization on a per connection basis instead of usual per request basis- Returns:
trueif the scheme is connection based,falseif the scheme is request based.
-
isComplete
boolean isComplete()
Authentication process may involve a series of challenge-response exchanges. This method tests if the authorization process has been completed, either successfully or unsuccessfully, that is, all the required authorization challenges have been processed in their entirety.- Returns:
trueif the authentication process has been completed,falseotherwise.
-
authenticate
@Deprecated Header authenticate(Credentials credentials, HttpRequest request) throws AuthenticationException
Deprecated.Produces an authorization string for the given set ofCredentials.- Parameters:
credentials- The set of credentials to be used for athenticationrequest- The request being authenticated- Returns:
- the authorization string
- Throws:
AuthenticationException- if authorization string cannot be generated due to an authentication failure
-
-