authorization_details
parameter to the /par
endpoint to request more granular permissions than those requested in scopes. This allows for more fine-grained control over resource access for both clients and resource owners, mitigating security risks associated with over-provisioning access.
Because Auth0 only supports validating authorization_details
types, you must implement validation for the JSON objects in authorization_details
. To learn more, read Configure Rich Authorization Requests.
authorization_details
parameter is a JSON array of objects, each of which must include a type
field represented as a string. The type
field determines the customizable object fields. An authorization_details
array may contain multiple entries of the same type.
The following example for a Rich Authorization Request is of type money_transfer
. It contains the following object fields:
instructedAmount
: The amount of money in USD to be transferred.sourceAccount
: The source bank account from which the money will be transferred.destinationAccount
: The destination bank account to which the money will be transferred.beneficiary
: The recipient of the money transfer.subject
: The subject line of the money transfer.authorization_details
to the user to authorize in a custom consent screen. To learn more, read Set customized consent prompt.
You must pass the authorization_details
parameter to the /par
endpoint, which enables the Auth0 to perform early validation of the type
. The /par
endpoint passes authorization requests on the back channel to avoid sensitive data leaking in the front channel, such as the browser. Once you’ve passed the authorization request to the /par
endpoint, the application will redirect to the /authorize
endpoint and then proceed with the Authorization Code Flow. To learn more, read Authorization Code Flow with PAR.
To complete the Authorization Code Flow, exchange the authorization code at the /oauth/token
endpoint, as in the following example:
authorization_details
array:
authorization_details
to understand the scope of the authorization granted to it without having to inspect the access token. If the requested is an API that requires JWE access tokens, the /oauth/token
endpoint returns a response that omits all object fields except for type
from authorization_details
. Access token claims are unaffected in the response.
authorization_details
types. To learn more, read Configure Rich Authorization Requests.
For the Authorization Code Flow, you need to do additional configurations:
authorization_details
of a Rich Authorization Request in the consent prompt. To do so, configure the customized-consent
prompt with the appropriate template partials.
In the following PUT
request, configure the customized consent partials:
authorization_details
in the following consent prompt that Auth0 shows to the end user:
authorization_details
parameter in the post-login Action via the event.transaction.requested_authorization_details
property. You can reference this property in an Action to show transaction details to the user in an MFA challenge.