Class UserInfoResponse
- java.lang.Object
-
- com.authlete.common.dto.ApiResponse
-
- com.authlete.common.dto.UserInfoResponse
-
- All Implemented Interfaces:
Serializable
public class UserInfoResponse extends ApiResponse
Response from Authlete's/auth/userinfoAPI.Authlete's
/auth/userinfoAPI returns JSON which can be mapped to this class. The service implementation should retrieve the value of"action"from the response and take the following steps according to the value.INTERNAL_SERVER_ERROR-
When the value of
"action"is"INTERNAL_SERVER_ERROR", it means that the request from the service implementation was wrong or that an error occurred in Authlete.In either case, from the viewpoint of the client application, it is an error on the server side. Therefore, the service implementation should generate a response to the client application with the HTTP status of
"500 Internal Server Error".getResponseContent()returns a string which describes the error in the format of RFC 6750 (OAuth 2.0 Bearer Token Usage), so the UserInfo Endpoint implementation of your service can use the string returned from the method as the value ofWWW-Authenticateheader.The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from UserInfo endpoint comply with RFC 6750. See 5.3.3. UserInfo Error Response for details.
HTTP/1.1 500 Internal Server Error WWW-Authenticate: (The value returned from
getResponseContent()) Cache-Control: no-store Pragma: no-cache BAD_REQUEST-
When the value of
"action"is"BAD_REQUEST", it means that the request from the client application does not contain an access token (= the request from the service implementation to Authlete does not contain"token"parameter).getResponseContent()returns a string which describes the error in the format of RFC 6750 (OAuth 2.0 Bearer Token Usage), so the UserInfo Endpoint implementation of your service can use the string returned from the method as the value ofWWW-Authenticateheader.The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from UserInfo endpoint comply with RFC 6750. See 5.3.3. UserInfo Error Response for details.
HTTP/1.1 400 Bad Request WWW-Authenticate: (The value returned from
getResponseContent()) Cache-Control: no-store Pragma: no-cache UNAUTHORIZED-
When the value of
"action"is"UNAUTHORIZED", it means that the access token does not exist, has expired, or is not associated with any subject (= any user account).getResponseContent()returns a string which describes the error in the format of RFC 6750 (OAuth 2.0 Bearer Token Usage), so the UserInfo Endpoint implementation of your service can use the string returned from the method as the value ofWWW-Authenticateheader.The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from UserInfo endpoint comply with RFC 6750. See 5.3.3. UserInfo Error Response for details.
HTTP/1.1 401 Unauthorized WWW-Authenticate: (The value returned from
getResponseContent()) Cache-Control: no-store Pragma: no-cache FORBIDDEN-
When the value of
"action"is"FORBIDDEN", it means that the access token does not include the"openid"scope.getResponseContent()returns a string which describes the error in the format of RFC 6750 (OAuth 2.0 Bearer Token Usage), so the UserInfo Endpoint implementation of your service can use the string returned from the method as the value ofWWW-Authenticateheader.The following is an example response which complies with RFC 6750. Note that OpenID Connect Core 1.0 requires that an error response from UserInfo endpoint comply with RFC 6750. See 5.3.3. UserInfo Error Response for details.
HTTP/1.1 403 Forbidden WWW-Authenticate: (The value returned from
getResponseContent()) Cache-Control: no-store Pragma: no-cache OK-
When the value of
"action"is"OK", it means that the access token which the client application presented is valid. To be concrete, it means that the access token exists, has not expired, includes the"openid"scope, and is associated with a subject (= a user account).What the UserInfo Endpoint of your service should do next is to collect information about the subject (user) from your database. The value of the subject can be obtained from
getSubject(), and the names of data, i.e., the claims names can be obtained fromgetClaims(). For example, ifgetSubject()returns"joe123"andgetClaims()returns["given_name", "email"], you need to extract information aboutjoe123's given name and email from your database.Then, call Authlete's
/auth/userinfo/issueAPI with the collected information and the access token in order to make Authlete generate a userinfo response. See the descriptions ofUserInfoIssueRequestandUserInfoIssueResponsefor details about/auth/userinfo/issueAPI.If an error occurred during the above steps, generate an error response to the client. The response should comply with RFC 6750. For example, if the subject associated with the access token does not exist in your database any longer, you may feel like generating a response like below.
HTTP/1.1 400 Bad Request WWW-Authenticate: Bearer error="
invalid_token", error_description="The subject associated with the access token does not exist." Cache-Control: no-store Pragma: no-cacheAlso, an error might occur on database access. If you treat the error as an internal server error, then the response would be like the following.
HTTP/1.1 500 Internal Server Error WWW-Authenticate: Bearer error="
server_error", error_description="Failed to extract information about the subject from the database." Cache-Control: no-store Pragma: no-cache
Authlete 2.3 and newer version support "Transformed Claims". An authorization request may request "transformed claims". A transformed claim uses an existing claim as input. For example, an authorization server may predefine a transformed claim named
18_or_overwhich uses thebirthdateclaim as input. If a client application requests the18_or_overtransformed claim, the authorization server needs to prepare the value of thebirthdateclaim and passes it to Authlete's/api/auth/userinfo/issueAPI so that Authlete can compute the value of the18_or_overtransformed claim. See the descriptions ofgetRequestedClaimsForTx()andgetRequestedVerifiedClaimsForTx()for details.- Author:
- Takahiko Kawasaki
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUserInfoResponse.ActionThe next action the service implementation should take.
-
Constructor Summary
Constructors Constructor Description UserInfoResponse()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UserInfoResponse.ActiongetAction()Get the next action the service implementation should take.String[]getClaims()Get the list of claims that the client application requests to be embedded in the userinfo response.Pair[]getClientAttributes()Get the attributes of the client that the access token has been issued to.URIgetClientEntityId()Get the entity ID of the client.longgetClientId()Get the client ID.StringgetClientIdAlias()Get the client ID alias when the authorization request for the access token was made.String[]getConsentedClaims()Get the claims that the user has consented for the client application to know.StringgetDpopNonce()Get the expected nonce value for DPoP proof JWT, which should be used as the value of theDPoP-NonceHTTP header.Property[]getProperties()Get the extra properties associated with the access token.String[]getRequestedClaimsForTx()Get names of claims that are requested indirectly by "transformed claims".StringArray[]getRequestedVerifiedClaimsForTx()Get names of verified claims that are requested indirectly by "transformed claims".StringgetResponseContent()Get the response content which can be used as a part of the response to the client application.String[]getScopes()Get the scopes covered by the access token.Pair[]getServiceAttributes()Get the attributes of the service that the client application belongs to.StringgetSubject()Get the subject (= resource owner's ID).StringgetToken()Get the access token that came along with the userinfo request.StringgetTransformedClaims()Get the value of the"transformed_claims"property in the"claims"request parameter of an authorization request or in the"claims"property in a request object.StringgetUserInfoClaims()Get the value of the"userinfo"property in the"claims"request parameter or in the"claims"property in an authorization request object.booleanisClientEntityIdUsed()Get the flag which indicates whether the entity ID of the client was used when the request for the access token was made.booleanisClientIdAliasUsed()Get the flag which indicates whether the client ID alias was used when the authorization request for the access token was made.voidsetAction(UserInfoResponse.Action action)Set the next action the service implementation should take.voidsetClaims(String[] claims)Set the list of claims that the client application requests to be embedded in the ID token.voidsetClientAttributes(Pair[] attributes)Set the attributes of the client that the access token has been issued to.voidsetClientEntityId(URI entityId)Set the entity ID of the client.voidsetClientEntityIdUsed(boolean used)Set the flag which indicates whether the entity ID of the client was used when the request for the access token was made.voidsetClientId(long clientId)Set the client ID.voidsetClientIdAlias(String alias)Set the client ID alias when the authorization request for the access token was made.voidsetClientIdAliasUsed(boolean used)Set the flag which indicates whether the client ID alias was used when the authorization request for the access token was made.voidsetConsentedClaims(String[] claims)Set the claims that the user has consented for the client application to know.voidsetDpopNonce(String dpopNonce)Set the expected nonce value for DPoP proof JWT, which should be used as the value of theDPoP-NonceHTTP header.voidsetProperties(Property[] properties)Set the extra properties associated with the access token.voidsetRequestedClaimsForTx(String[] claims)Set names of claims that are requested indirectly by "transformed claims".voidsetRequestedVerifiedClaimsForTx(StringArray[] claimsArray)Set names of verified claims that are requested indirectly by "transformed claims".voidsetResponseContent(String responseContent)Set the response content which can be used as a part of the response to the client application.voidsetScopes(String[] scopes)Set the scopes covered by the access token.voidsetServiceAttributes(Pair[] attributes)Set the attributes of the service that the client application belongs to.voidsetSubject(String subject)Set the subject (= resource owner's ID).voidsetToken(String accessToken)Set the access token that came along with the userinfo request.voidsetTransformedClaims(String transformedClaims)Set the value of the"transformed_claims"property in the"claims"request parameter of an authorization request or in the"claims"property in a request object.voidsetUserInfoClaims(String userInfoClaims)Set the value of the"userinfo"property in the"claims"request parameter or in the"claims"property in an authorization request object.Stringsummarize()Get the summary of this instance.-
Methods inherited from class com.authlete.common.dto.ApiResponse
getResponseHeaders, getResultCode, getResultMessage, setResponseHeaders, setResultCode, setResultMessage
-
-
-
-
Method Detail
-
getAction
public UserInfoResponse.Action getAction()
Get the next action the service implementation should take.
-
setAction
public void setAction(UserInfoResponse.Action action)
Set the next action the service implementation should take.
-
getClientId
public long getClientId()
Get the client ID.
-
setClientId
public void setClientId(long clientId)
Set the client ID.
-
getSubject
public String getSubject()
Get the subject (= resource owner's ID).
-
setSubject
public void setSubject(String subject)
Set the subject (= resource owner's ID).
-
getScopes
public String[] getScopes()
Get the scopes covered by the access token.
-
setScopes
public void setScopes(String[] scopes)
Set the scopes covered by the access token.
-
getClaims
public String[] getClaims()
Get the list of claims that the client application requests to be embedded in the userinfo response. The value comes from"scope"and"claims"request parameters of the original authorization request.
-
setClaims
public void setClaims(String[] claims)
Set the list of claims that the client application requests to be embedded in the ID token.
-
getToken
public String getToken()
Get the access token that came along with the userinfo request.
-
setToken
public void setToken(String accessToken)
Set the access token that came along with the userinfo request.
-
getResponseContent
public String getResponseContent()
Get the response content which can be used as a part of the response to the client application.
-
setResponseContent
public void setResponseContent(String responseContent)
Set the response content which can be used as a part of the response to the client application.
-
summarize
public String summarize()
Get the summary of this instance.
-
getProperties
public Property[] getProperties()
Get the extra properties associated with the access token.- Returns:
- Extra properties. This method returns
nullwhen no extra property is associated with the access token. - Since:
- 2.5
-
setProperties
public void setProperties(Property[] properties)
Set the extra properties associated with the access token.- Parameters:
properties- Extra properties.- Since:
- 2.5
-
getClientIdAlias
public String getClientIdAlias()
Get the client ID alias when the authorization request for the access token was made. Note that this value may be different from the current client ID alias.- Returns:
- The client ID alias when the authorization request for the access token was made.
- Since:
- 2.5
-
setClientIdAlias
public void setClientIdAlias(String alias)
Set the client ID alias when the authorization request for the access token was made.- Parameters:
alias- The client ID alias.- Since:
- 2.5
-
isClientIdAliasUsed
public boolean isClientIdAliasUsed()
Get the flag which indicates whether the client ID alias was used when the authorization request for the access token was made.- Returns:
trueif the client ID alias was used when the authorization request for the access token was made.- Since:
- 2.5
-
setClientIdAliasUsed
public void setClientIdAliasUsed(boolean used)
Set the flag which indicates whether the client ID alias was used when the authorization request for the access token was made.- Parameters:
used-trueif the client ID alias was used when the authorization request for the access token was made.- Since:
- 2.5
-
getClientEntityId
public URI getClientEntityId()
Get the entity ID of the client."Entity ID" is a technical term defined in OpenID Federation 1.0.
- Returns:
- The entity ID of the client.
- Since:
- 3.37, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setClientEntityId
public void setClientEntityId(URI entityId)
Set the entity ID of the client."Entity ID" is a technical term defined in OpenID Federation 1.0.
- Parameters:
entityId- The entity ID of the client.- Since:
- 3.37, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
isClientEntityIdUsed
public boolean isClientEntityIdUsed()
Get the flag which indicates whether the entity ID of the client was used when the request for the access token was made."Entity ID" is a technical term defined in OpenID Federation 1.0.
- Returns:
trueif the entity ID of the client was used when the request for the access token was made.- Since:
- 3.37, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setClientEntityIdUsed
public void setClientEntityIdUsed(boolean used)
Set the flag which indicates whether the entity ID of the client was used when the request for the access token was made."Entity ID" is a technical term defined in OpenID Federation 1.0.
- Parameters:
used-trueto indicate that the entity ID of the client was used when the request for the access token was made.- Since:
- 3.37, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getUserInfoClaims
public String getUserInfoClaims()
Get the value of the"userinfo"property in the"claims"request parameter or in the"claims"property in an authorization request object.A client application may request certain claims be embedded in an ID token or in a response from the UserInfo endpoint. There are several ways. Including the
claimsrequest parameter and including theclaimsproperty in a request object are such examples. In both the cases, the value of theclaimsparameter/property is JSON. Its format is described in 5.5. Requesting Claims using the "claims" Request Parameter of OpenID Connect Core 1.0.The following is an excerpt from the specification. You can find
"userinfo"and"id_token"are top-level properties.{ "userinfo": { "given_name": {"essential": true}, "nickname": null, "email": {"essential": true}, "email_verified": {"essential": true}, "picture": null, "http://example.info/claims/groups": null }, "id_token": { "auth_time": {"essential": true}, "acr": {"values": ["urn:mace:incommon:iap:silver"] } } }This method (
getUserInfoClaims()) returns the value of the"userinfo"property in JSON format. For example, if the JSON above is included in an authorization request, this method returns JSON equivalent to the following.{ "given_name": {"essential": true}, "nickname": null, "email": {"essential": true}, "email_verified": {"essential": true}, "picture": null, "http://example.info/claims/groups": null }Note that if a request object is given and it contains the
claimsproperty and if theclaimsrequest parameter is also given, this method returns the value in the former.- Returns:
- The value of the
"userinfo"property in the"claims"in JSON format. - Since:
- 2.64
-
setUserInfoClaims
public void setUserInfoClaims(String userInfoClaims)
Set the value of the"userinfo"property in the"claims"request parameter or in the"claims"property in an authorization request object.- Parameters:
userInfoClaims- The value of the"userinfo"property in the"claims"in JSON format.- Since:
- 2.64
-
getTransformedClaims
public String getTransformedClaims()
Get the value of the"transformed_claims"property in the"claims"request parameter of an authorization request or in the"claims"property in a request object.- Returns:
- The value of the
"transformed_claims"property in the"claims"in JSON format. - Since:
- 3.8
- See Also:
- OpenID Connect Advanced Syntax for Claims (ASC) 1.0
-
setTransformedClaims
public void setTransformedClaims(String transformedClaims)
Set the value of the"transformed_claims"property in the"claims"request parameter of an authorization request or in the"claims"property in a request object.- Parameters:
transformedClaims- The value of the"transformed_claims"property in the"claims"in JSON format.- Since:
- 3.8
- See Also:
- OpenID Connect Advanced Syntax for Claims (ASC) 1.0
-
getConsentedClaims
public String[] getConsentedClaims()
Get the claims that the user has consented for the client application to know.The following Authlete APIs accept a
consentedClaimsrequest parameter (which is supported from Authlete 2.3)./api/auth/authorization/issue/api/backchannel/authentication/complete/api/device/complete
The request parameter is used to convey consented claims to Authlete. This property holds the consented claims. See the description of
AuthorizationIssueRequest.setConsentedClaims(String[])for details.- Returns:
- Consented claims.
- Since:
- 3.7
- See Also:
AuthorizationIssueRequest.setConsentedClaims(String[]),BackchannelAuthenticationCompleteRequest.setConsentedClaims(String[]),DeviceCompleteRequest.setConsentedClaims(String[])
-
setConsentedClaims
public void setConsentedClaims(String[] claims)
Set the claims that the user has consented for the client application to know.The following Authlete APIs accept a
consentedClaimsrequest parameter (which is supported from Authlete 2.3)./api/auth/authorization/issue/api/backchannel/authentication/complete/api/device/complete
The request parameter is used to convey consented claims to Authlete. This property holds the consented claims. See the description of
AuthorizationIssueRequest.setConsentedClaims(String[])for details.- Parameters:
claims- Consented claims.- Since:
- 3.7
- See Also:
AuthorizationIssueRequest.setConsentedClaims(String[]),BackchannelAuthenticationCompleteRequest.setConsentedClaims(String[]),DeviceCompleteRequest.setConsentedClaims(String[])
-
getRequestedClaimsForTx
public String[] getRequestedClaimsForTx()
Get names of claims that are requested indirectly by "transformed claims".A client application can request "transformed claims" by adding names of transformed claims in the
claimsrequest parameter. The following is an example of theclaimsrequest parameter that requests a predefined transformed claim named18_or_overand a transformed claim namednationality_usato be embedded in the response from the userinfo endpoint.{ "transformed_claims": { "nationality_usa": { "claim": "nationalities", "fn": [ [ "eq", "USA" ], "any" ] } }, "userinfo": { "::18_or_over": null, ":nationality_usa": null } }The example above assumes that a transformed claim named
18_or_overis predefined by the authorization server like below.{ "18_or_over": { "claim": "birthdate", "fn": [ "years_ago", [ "gte", 18 ] ] } }In the example, the
nationalitiesclaim is requested indirectly by thenationality_usatransformed claim. Likewise, thebirthdateclaim is requested indirectly by the18_or_overtransformed claim.When the
claimsrequest parameter of an authorization request is like the example above, thisrequestedClaimsForTxproperty will hold the following value.[ "birthdate", "nationalities" ]
It is expected that the authorization server implementation prepares values of the listed claims and passes them as the value of the
claimsForTxrequest parameter when it calls the/api/auth/userinfo/issueAPI (cf.UserInfoIssueRequest.setClaimsForTx(String)). The following is an example of the value of theclaimsForTxrequest parameter.{ "birthdate": "1970-01-23", "nationalities": [ "DEU", "USA" ] }This
requestedClaimsForTxproperty is available from Authlete 2.3 onwards.- Returns:
- Names of claims that are requested indirectly by "transformed claims"
- Since:
- 3.8
- See Also:
- OpenID Connect Advanced Syntax for Claims (ASC) 1.0
-
setRequestedClaimsForTx
public void setRequestedClaimsForTx(String[] claims)
Set names of claims that are requested indirectly by "transformed claims".See the description of
getRequestedClaimsForTx()for details.- Parameters:
claims- Names of claims that are requested indirectly by "transformed claims"- Since:
- 3.8
- See Also:
- OpenID Connect Advanced Syntax for Claims (ASC) 1.0,
getRequestedClaimsForTx()
-
getRequestedVerifiedClaimsForTx
public StringArray[] getRequestedVerifiedClaimsForTx()
Get names of verified claims that are requested indirectly by "transformed claims".A client application can request "transformed claims" by adding names of transformed claims in the
claimsrequest parameter. The following is an example of theclaimsrequest parameter that requests a predefined transformed claim named18_or_overand a transformed claim namednationality_usato be embedded in the response from the userinfo endpoint.{ "transformed_claims": { "nationality_usa": { "claim": "nationalities", "fn": [ [ "eq", "USA" ], "any" ] } }, "userinfo": { "verified_claims": { "verification": { "trust_framework": null }, "claims": { "::18_or_over": null, ":nationality_usa": null } } } }The example above assumes that a transformed claim named
18_or_overis predefined by the authorization server like below.{ "18_or_over": { "claim": "birthdate", "fn": [ "years_ago", [ "gte", 18 ] ] } }In the example, the
nationalitiesclaim is requested indirectly by thenationality_usatransformed claim. Likewise, thebirthdateclaim is requested indirectly by the18_or_overtransformed claim.When the
claimsrequest parameter of an authorization request is like the example above, thisrequestedVerifiedClaimsForTxproperty will hold the following value.[ { "array": [ "birthdate", "nationalities" ] } ]It is expected that the authorization server implementation prepares values of the listed verified claims and passes them as the value of the
verifiedClaimsForTxrequest parameter when it calls the/api/auth/userinfo/issueAPI (cf.UserInfoIssueRequest.setVerifiedClaimsForTx(String[])). The following is an example of the value of theverifiedClaimsForTxrequest parameter.[ "{\"birthdate\":\"1970-01-23\",\"nationalities\":[\"DEU\",\"USA\"]}" ]The reason that this
requestedVerifiedClaimsForTxproperty and theverifiedClaimsForTxrequest parameter are arrays is that the"verified_claims"property in theclaimsrequest parameter can be an array like below.{ "transformed_claims": { "nationality_usa": { "claim": "nationalities", "fn": [ [ "eq", "USA" ], "any" ] } }, "userinfo": { "verified_claims": [ { "verification": { "trust_framework": { "value": "gold" } }, "claims": { "::18_or_above": null } }, { "verification": { "trust_framework": { "value": "silver" } }, "claims": { ":nationality_usa": null } } ] } }The order of elements in
requestedVerifiedClaimsForTxmatches the order of elements in the"verified_claims"array.This
requestedVerifiedClaimsForTxproperty is available from Authlete 2.3 onwards.- Returns:
- Names of verified claims that are requested indirectly by "transformed claims"
- Since:
- 3.8
- See Also:
- OpenID Connect Advanced Syntax for Claims (ASC) 1.0, OpenID Connect for Identity Assurance 1.0
-
setRequestedVerifiedClaimsForTx
public void setRequestedVerifiedClaimsForTx(StringArray[] claimsArray)
Set names of verified claims that are requested indirectly by "transformed claims".See the description of
getRequestedVerifiedClaimsForTx()for details.This
requestedVerifiedClaimsForTxproperty is available from Authlete 2.3 onwards.- Parameters:
claimsArray- Names of verified claims that are requested indirectly by "transformed claims"- Since:
- 3.8
- See Also:
- OpenID Connect Advanced Syntax for Claims (ASC) 1.0,
OpenID Connect for Identity Assurance 1.0,
getRequestedVerifiedClaimsForTx()
-
getServiceAttributes
public Pair[] getServiceAttributes()
Get the attributes of the service that the client application belongs to.This property is available since Authlete 2.2.
- Returns:
- The attributes of the service.
- Since:
- 2.88
-
setServiceAttributes
public void setServiceAttributes(Pair[] attributes)
Set the attributes of the service that the client application belongs to.This property is available since Authlete 2.2.
- Parameters:
attributes- The attributes of the service.- Since:
- 2.88
-
getClientAttributes
public Pair[] getClientAttributes()
Get the attributes of the client that the access token has been issued to.This property is available since Authlete 2.2.
- Returns:
- The attributes of the client.
- Since:
- 2.88
-
setClientAttributes
public void setClientAttributes(Pair[] attributes)
Set the attributes of the client that the access token has been issued to.This property is available since Authlete 2.2.
- Parameters:
attributes- The attributes of the client.- Since:
- 2.88
-
getDpopNonce
public String getDpopNonce()
Get the expected nonce value for DPoP proof JWT, which should be used as the value of theDPoP-NonceHTTP header.When this response parameter is not null, the implementation of the userinfo endpoint should add the
DPoP-NonceHTTP header in the response from the endpoint to the client application, using the value of this response parameter as the value of the HTTP header.DPoP-Nonce: (The value of this
dpopNonceresponse parameter)- Returns:
- The expected nonce value for DPoP proof JWT.
- Since:
- 3.82, Authlete 3.0
- See Also:
- RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP)
-
setDpopNonce
public void setDpopNonce(String dpopNonce)
Set the expected nonce value for DPoP proof JWT, which should be used as the value of theDPoP-NonceHTTP header.When this response parameter is not null, the implementation of the userinfo endpoint should add the
DPoP-NonceHTTP header in the response from the endpoint to the client application, using the value of this response parameter as the value of the HTTP header.DPoP-Nonce: (The value of this
dpopNonceresponse parameter)- Parameters:
dpopNonce- The expected nonce value for DPoP proof JWT.- Since:
- 3.82, Authlete 3.0
- See Also:
- RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP)
-
-