/authorize
or /oauth/par
endpoints and wraps them in a JSON Web Token (JWT), which they then sign using the private key.
The verifies the signature with your application’s public key. If the signature is valid, the authorization server extracts the request parameters from JAR and processes the request as usual. As a result, the parameter values are guaranteed to come from a known source, and cannot be tampered with or accessed by intermediaries.
alg
: The algorithm used to sign the JWT. Must be either RS256, RS384, or PS256.typ
: The type of JWT. Must be either jwt
or oauth-authz-req+jwt
.kid
field that identifies the key used to sign the JWT. If a kid
is present, Auth0 will look for a public key registered during JAR configuration that has a matching key ID and use that key to verify the JWT’s signature.
iss
: This must contain your app’s client_id
aud
: This must be your tenant’s domain, with the protocol and a trailing forward slash. For example, https://your_domain.auth0.com/
/authorize
. For example:
client_id
: This must also contain your app’s client_id
response_type
: Indicates to Auth0 which flow you want to perform. Use code
for Authorization Code Grant Flow.audience
, scope
, state
, redirect_uri
, among others.
In addition, the JWT may contain the following optional claims:
iat
: Must be a numeric date.nbf
: Must be a numeric date, representing a time in the past.exp
: Must be a numeric date, representing a time in the future.jti
: Must be a string no longer than 64 bytes./authorize
endpoint using your signed JWT, open a new browser window. Pass your as the client_id
parameter and the signed and URL-encoded JWT as the request
parameter.