Package org.restlet.data
Class ChallengeResponse
java.lang.Object
org.restlet.data.ChallengeMessage
org.restlet.data.ChallengeResponse
Authentication response sent by client to an origin server. This is typically
following a
Sometimes, it might be faster to preemptively issue a challenge response if the client knows for sure that the target resource will require authentication.
Note that when used with HTTP connectors, this class maps to the "Authorization" header.
ChallengeRequest sent by the origin server to the
client.Sometimes, it might be faster to preemptively issue a challenge response if the client knows for sure that the target resource will require authentication.
Note that when used with HTTP connectors, this class maps to the "Authorization" header.
- Author:
- Jerome Louvel
-
Field Summary
Fields inherited from class org.restlet.data.ChallengeMessage
QUALITY_AUTHENTICATION, QUALITY_AUTHENTICATION_INTEGRITY -
Constructor Summary
ConstructorsConstructorDescriptionChallengeResponse(ChallengeRequest challengeRequest, Response response, String identifier, char[] secret) Constructor.ChallengeResponse(ChallengeRequest challengeRequest, Response response, String identifier, char[] secret, String secretAlgorithm) Constructor.ChallengeResponse(ChallengeRequest challengeRequest, Response response, String identifier, String secret) Constructor.ChallengeResponse(ChallengeScheme scheme) Constructor with no credentials.ChallengeResponse(ChallengeScheme scheme, String identifier, char[] secret) Constructor.ChallengeResponse(ChallengeScheme scheme, String identifier, char[] secret, Series<Parameter> parameters) Constructor.ChallengeResponse(ChallengeScheme scheme, String identifier, String secret) Constructor.ChallengeResponse(ChallengeScheme scheme, String identifier, Series<Parameter> parameters) Constructor.ChallengeResponse(ChallengeScheme scheme, Series<Parameter> parameters, String identifier, char[] secret, String secretAlgorithm, String realm, String quality, Reference digestRef, String digestAlgorithm, String opaque, String clientNonce, String serverNonce, int serverNonceCount, long timeIssued) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns the client nonce.Returns theRequest.getResourceRef()value duplicated here in case a proxy changed it.Returns the user identifier, such as a login name or an access key.Gets the principal associated to the identifier property.Returns the chosen quality of protection.char[]Returns the user secret, such as a password or a secret key.Returns the digest algorithm name optionally applied on the user secret.intReturns the server nonce count.Returns the server nonce count as a hexadecimal string of eight characters.intDeprecated.Deprecated.UsegetServerNonceCountAsHexinstead.longReturns the time when the response was issued, as returned bySystem.currentTimeMillis().inthashCode()voidsetClientNonce(String clientNonce) Sets the client nonce.voidsetDigestRef(Reference digestRef) Sets the digest URI reference.voidsetIdentifier(String identifier) Sets the user identifier, such as a login name or an access key.voidsetQuality(String quality) Sets the chosen quality of protection.voidsetSecret(char[] secret) Sets the user secret, such as a password or a secret key.voidSets the user secret, such as a password or a secret key.voidsetSecretAlgorithm(String secretDigestAlgorithm) Sets the digest algorithm name optionally applied on the user secret.voidsetServerNonceCount(int serverNonceCount) Sets the server nonce count.voidsetServerNounceCount(int serverNonceCount) Deprecated.UsesetServerNonceCountinstead.voidsetTimeIssued(long timeIssued) Sets the time when the response was issued, as returned bySystem.currentTimeMillis().Methods inherited from class org.restlet.data.ChallengeMessage
getDigestAlgorithm, getOpaque, getParameters, getRawValue, getRealm, getScheme, getServerNonce, setDigestAlgorithm, setOpaque, setParameters, setRawValue, setRealm, setScheme, setServerNonce
-
Constructor Details
-
ChallengeResponse
public ChallengeResponse(ChallengeRequest challengeRequest, Response response, String identifier, char[] secret) Constructor. It leverages the latest server response and challenge request to compute the credentials.- Parameters:
challengeRequest- The challenge request sent by the origin server.response- The latest server response.identifier- The user identifier, such as a login name or an access key.secret- The user secret, such as a password or a secret key, with no digest applied.
-
ChallengeResponse
public ChallengeResponse(ChallengeRequest challengeRequest, Response response, String identifier, char[] secret, String secretAlgorithm) Constructor. It leverages the latest server response and challenge request in order to compute the credentials.- Parameters:
challengeRequest- The challenge request sent by the origin server.response- The latest server response.identifier- The user identifier, such as a login name or an access key.secret- The user secret used to compute the secret, with an optional digest applied.secretAlgorithm- The digest algorithm of the user secret (seeDigestclass).
-
ChallengeResponse
public ChallengeResponse(ChallengeRequest challengeRequest, Response response, String identifier, String secret) Constructor. It leverages the latest server response and challenge request to compute the credentials.- Parameters:
challengeRequest- The challenge request sent by the origin server.response- The latest server response.identifier- The user identifier, such as a login name or an access key.secret- The user secret, such as a password or a secret key.
-
ChallengeResponse
Constructor with no credentials.- Parameters:
scheme- The challenge scheme.
-
ChallengeResponse
public ChallengeResponse(ChallengeScheme scheme, Series<Parameter> parameters, String identifier, char[] secret, String secretAlgorithm, String realm, String quality, Reference digestRef, String digestAlgorithm, String opaque, String clientNonce, String serverNonce, int serverNonceCount, long timeIssued) Constructor.- Parameters:
scheme- The challenge scheme.parameters- The additional scheme parameters.identifier- The user identifier, such as a login name or an access key.secret- The user secret, such as a password or a secret key.secretAlgorithm- The digest algorithm name optionally applied on the user secret.realm- The authentication realm.quality- The chosen quality of protection.digestRef- TheRequest.getResourceRef()value duplicated here in case a proxy changed it.digestAlgorithm- The digest algorithm.opaque- An opaque string of data which should be returned by the client unchanged.clientNonce- The client nonce value.serverNonce- The server nonce.serverNonceCount- The server nonce count.timeIssued- The time when the response was issued, as returned bySystem.currentTimeMillis().
-
ChallengeResponse
Constructor.- Parameters:
scheme- The challenge scheme.identifier- The user identifier, such as a login name or an access key.secret- The user secret, such as a password or a secret key.
-
ChallengeResponse
public ChallengeResponse(ChallengeScheme scheme, String identifier, char[] secret, Series<Parameter> parameters) Constructor.- Parameters:
scheme- The challenge scheme.identifier- The user identifier, such as a login name or an access key.parameters- The additional scheme parameters.
-
ChallengeResponse
Constructor.- Parameters:
scheme- The challenge scheme.identifier- The user identifier, such as a login name or an access key.parameters- The additional scheme parameters.
-
ChallengeResponse
Constructor.- Parameters:
scheme- The challenge scheme.identifier- The user identifier, such as a login name or an access key.secret- The user secret, such as a password or a secret key.
-
-
Method Details
-
equals
- Overrides:
equalsin classChallengeMessage
-
getClientNonce
Returns the client nonce.- Returns:
- The client nonce.
-
getDigestRef
Returns theRequest.getResourceRef()value duplicated here in case a proxy changed it.- Returns:
- The digest URI reference.
-
getIdentifier
Returns the user identifier, such as a login name or an access key.- Returns:
- The user identifier, such as a login name or an access key.
-
getPrincipal
Gets the principal associated to the identifier property.- Returns:
- The principal associated to the identifier property.
-
getQuality
Returns the chosen quality of protection.- Returns:
- The chosen quality of protection.
-
getSecret
public char[] getSecret()Returns the user secret, such as a password or a secret key. It is not recommended to useString(char[])for security reasons.- Returns:
- The user secret, such as a password or a secret key.
-
getSecretAlgorithm
Returns the digest algorithm name optionally applied on the user secret.- Returns:
- The digest algorithm name optionally applied on the user secret.
-
getServerNounceCount
Deprecated.UsegetServerNonceCountinstead.Returns the server nonce count.- Returns:
- The server nonce count.
-
getServerNonceCount
public int getServerNonceCount()Returns the server nonce count.- Returns:
- The server nonce count.
-
getServerNounceCountAsHex
Deprecated.UsegetServerNonceCountAsHexinstead.Returns the server nonce count as a hexadecimal string of eight characters.- Returns:
- The server nonce count as a hexadecimal string.
-
getServerNonceCountAsHex
Returns the server nonce count as a hexadecimal string of eight characters.- Returns:
- The server nonce count as a hexadecimal string.
-
getTimeIssued
public long getTimeIssued()Returns the time when the response was issued, as returned bySystem.currentTimeMillis().- Returns:
- The time when the response was issued.
-
hashCode
public int hashCode()- Overrides:
hashCodein classChallengeMessage
-
setClientNonce
Sets the client nonce.- Parameters:
clientNonce- The client nonce.
-
setDigestRef
Sets the digest URI reference.- Parameters:
digestRef- The digest URI reference.
-
setIdentifier
Sets the user identifier, such as a login name or an access key.- Parameters:
identifier- The user identifier, such as a login name or an access key.
-
setQuality
Sets the chosen quality of protection.- Parameters:
quality- The chosen quality of protection.
-
setSecret
public void setSecret(char[] secret) Sets the user secret, such as a password or a secret key.- Parameters:
secret- The user secret, such as a password or a secret key.
-
setSecret
Sets the user secret, such as a password or a secret key.- Parameters:
secret- The user secret, such as a password or a secret key.
-
setSecretAlgorithm
Sets the digest algorithm name optionally applied on the user secret.- Parameters:
secretDigestAlgorithm- The digest algorithm name optionally applied on the user secret.
-
setServerNounceCount
Deprecated.UsesetServerNonceCountinstead.Sets the server nonce count.- Parameters:
serverNonceCount- The server nonce count.
-
setServerNonceCount
public void setServerNonceCount(int serverNonceCount) Sets the server nonce count.- Parameters:
serverNonceCount- The server nonce count.
-
setTimeIssued
public void setTimeIssued(long timeIssued) Sets the time when the response was issued, as returned bySystem.currentTimeMillis().- Parameters:
timeIssued- The time when the response was issued.
-
getServerNonceCountinstead.