Package com.nimbusds.oauth2.sdk.token
Class DPoPTokenError
java.lang.Object
com.nimbusds.oauth2.sdk.ErrorObject
com.nimbusds.oauth2.sdk.token.TokenSchemeError
com.nimbusds.oauth2.sdk.token.DPoPTokenError
- All Implemented Interfaces:
Serializable
OAuth 2.0 DPoP token error. Used to indicate that access to a resource
protected by a DPoP access token is denied, due to the request, token or
DPoP proof being invalid, or due to the access token having insufficient
scope.
Standard DPoP access token errors:
Example HTTP response:
HTTP/1.1 401 Unauthorized WWW-Authenticate: DPoP realm="example.com", error="invalid_token", error_description="The access token expired"
Related specifications:
- OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP) (RFC 9449)
- Hypertext Transfer Protocol (HTTP/1.1): Authentication (RFC 7235)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final DPoPTokenError
The request requires higher privileges than provided by the access token.static final DPoPTokenError
The request has a DPoP proof that is invalid.static final DPoPTokenError
The request is missing a required parameter, includes an unsupported parameter or parameter value, repeats the same parameter, uses more than one method for including an access token, or is otherwise malformed.static final DPoPTokenError
The access token provided is expired, revoked, malformed, or invalid for other reasons.static final DPoPTokenError
The request does not contain an access token.static final DPoPTokenError
The request is missing a required DPoP nonce. -
Constructor Summary
ConstructorsConstructorDescriptionDPoPTokenError
(String code, String description) Creates a new OAuth 2.0 DPoP token error with the specified code and description.DPoPTokenError
(String code, String description, int httpStatusCode) Creates a new OAuth 2.0 DPoP token error with the specified code, description and HTTP status code.DPoPTokenError
(String code, String description, int httpStatusCode, URI uri, String realm, Scope scope) Creates a new OAuth 2.0 DPoP token error with the specified code, description, HTTP status code, page URI, realm and scope.DPoPTokenError
(String code, String description, int httpStatusCode, URI uri, String realm, Scope scope, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs) Creates a new OAuth 2.0 DPoP token error with the specified code, description, HTTP status code, page URI, realm and scope. -
Method Summary
Modifier and TypeMethodDescriptionappendDescription
(String text) Appends the specified text to the error description.Set<com.nimbusds.jose.JWSAlgorithm>
Returns the acceptable JWS algorithms.static DPoPTokenError
Parses an OAuth 2.0 DPoP token error from the specified HTTP responseWWW-Authenticate
header.setDescription
(String description) Sets the error description.setHTTPStatusCode
(int httpStatusCode) Sets the HTTP status code.setJWSAlgorithms
(Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs) Sets the acceptable JWS algorithms.Sets the realm.Sets the required scope.Sets the error page URI.Returns theWWW-Authenticate
HTTP response header code for this DPoP access token error response.Methods inherited from class com.nimbusds.oauth2.sdk.token.TokenSchemeError
getRealm, getScheme, getScope, isScopeWithValidChars
Methods inherited from class com.nimbusds.oauth2.sdk.ErrorObject
equals, getCode, getCustomParams, getDescription, getHTTPStatusCode, getURI, hashCode, isLegal, isLegal, parse, parse, parse, removeIllegalChars, setCustomParams, toHTTPResponse, toJSONObject, toParameters, toString
-
Field Details
-
MISSING_TOKEN
The request does not contain an access token. No error code or description is specified for this error, just the HTTP status code is set to 401 (Unauthorized).Example:
HTTP/1.1 401 Unauthorized WWW-Authenticate: DPoP
-
INVALID_REQUEST
The request is missing a required parameter, includes an unsupported parameter or parameter value, repeats the same parameter, uses more than one method for including an access token, or is otherwise malformed. The HTTP status code is set to 400 (Bad Request). -
INVALID_TOKEN
The access token provided is expired, revoked, malformed, or invalid for other reasons. The HTTP status code is set to 401 (Unauthorized). -
INSUFFICIENT_SCOPE
The request requires higher privileges than provided by the access token. The HTTP status code is set to 403 (Forbidden). -
INVALID_DPOP_PROOF
The request has a DPoP proof that is invalid. The HTTP status code is set to 401 (Unauthorized). -
USE_DPOP_NONCE
The request is missing a required DPoP nonce. The HTTP status code is set to 401 (Unauthorized).
-
-
Constructor Details
-
DPoPTokenError
Creates a new OAuth 2.0 DPoP token error with the specified code and description.- Parameters:
code
- The error code,null
if not specified.description
- The error description,null
if not specified.
-
DPoPTokenError
Creates a new OAuth 2.0 DPoP token error with the specified code, description and HTTP status code.- Parameters:
code
- The error code,null
if not specified.description
- The error description,null
if not specified.httpStatusCode
- The HTTP status code, zero if not specified.
-
DPoPTokenError
public DPoPTokenError(String code, String description, int httpStatusCode, URI uri, String realm, Scope scope) Creates a new OAuth 2.0 DPoP token error with the specified code, description, HTTP status code, page URI, realm and scope.- Parameters:
code
- The error code,null
if not specified.description
- The error description,null
if not specified.httpStatusCode
- The HTTP status code, zero if not specified.uri
- The error page URI,null
if not specified.realm
- The realm,null
if not specified.scope
- The required scope,null
if not specified.
-
DPoPTokenError
public DPoPTokenError(String code, String description, int httpStatusCode, URI uri, String realm, Scope scope, Set<com.nimbusds.jose.JWSAlgorithm> jwsAlgs) Creates a new OAuth 2.0 DPoP token error with the specified code, description, HTTP status code, page URI, realm and scope.- Parameters:
code
- The error code,null
if not specified.description
- The error description,null
if not specified.httpStatusCode
- The HTTP status code, zero if not specified.uri
- The error page URI,null
if not specified.realm
- The realm,null
if not specified.scope
- The required scope,null
if not specified.jwsAlgs
- The acceptable JWS algorithms,null
if not specified.
-
-
Method Details
-
setDescription
Description copied from class:ErrorObject
Sets the error description.- Specified by:
setDescription
in classTokenSchemeError
- Parameters:
description
- The error description,null
if not specified.- Returns:
- A copy of this error with the specified description.
-
appendDescription
Description copied from class:ErrorObject
Appends the specified text to the error description.- Specified by:
appendDescription
in classTokenSchemeError
- Parameters:
text
- The text to append to the error description,null
if not specified.- Returns:
- A copy of this error with the specified appended description.
-
setHTTPStatusCode
Description copied from class:ErrorObject
Sets the HTTP status code.- Specified by:
setHTTPStatusCode
in classTokenSchemeError
- Parameters:
httpStatusCode
- The HTTP status code, zero if not specified.- Returns:
- A copy of this error with the specified HTTP status code.
-
setURI
Description copied from class:ErrorObject
Sets the error page URI.- Specified by:
setURI
in classTokenSchemeError
- Parameters:
uri
- The error page URI,null
if not specified.- Returns:
- A copy of this error with the specified page URI.
-
setRealm
Description copied from class:TokenSchemeError
Sets the realm.- Specified by:
setRealm
in classTokenSchemeError
- Parameters:
realm
- realm,null
if not specified.- Returns:
- A copy of this error with the specified realm.
-
setScope
Description copied from class:TokenSchemeError
Sets the required scope.- Specified by:
setScope
in classTokenSchemeError
- Parameters:
scope
- The required scope,null
if not specified.- Returns:
- A copy of this error with the specified required scope.
-
getJWSAlgorithms
Returns the acceptable JWS algorithms.- Returns:
- The acceptable JWS algorithms,
null
if not specified.
-
setJWSAlgorithms
Sets the acceptable JWS algorithms.- Parameters:
jwsAlgs
- The acceptable JWS algorithms,null
if not specified.- Returns:
- A copy of this error with the specified acceptable JWS algorithms.
-
toWWWAuthenticateHeader
Returns theWWW-Authenticate
HTTP response header code for this DPoP access token error response.Example:
DPoP realm="example.com", error="invalid_token", error_description="Invalid access token"
- Overrides:
toWWWAuthenticateHeader
in classTokenSchemeError
- Returns:
- The
Www-Authenticate
header value.
-
parse
Parses an OAuth 2.0 DPoP token error from the specified HTTP responseWWW-Authenticate
header.- Parameters:
wwwAuth
- TheWWW-Authenticate
header value to parse. Must not benull
.- Returns:
- The DPoP token error.
- Throws:
ParseException
- If theWWW-Authenticate
header value couldn't be parsed to a DPoP token error.
-