Avant de commencer
Vous devez créer une nouvelle application dans Auth0 Dashboard ou convertir une application existante avant de continuer. Pour en savoir plus, consultez Configurer l’authentification avec un JWT à clé privée.
private_key_jwt comporte deux étapes :
- Créez l’assertion de l’application. Cette assertion est un JWT signé avec la clé privée que vous avez utilisée pour générer la paire de clés. Pour savoir comment générer une paire de clés, consultez Configurer l’authentification avec un JWT à clé privée.
- Utilisez l’assertion pour vous authentifier auprès d’Auth0.
Construire l’assertion
Tous les claims sont requis, sauf indication contraire. Pour en savoir plus sur les claims JWT, consultez JSON Web Token Claims.
-
En-tête
alg: algorithme utilisé pour signer l’assertion. L’algorithme doit correspondre à celui spécifié lorsque vous avez créé les identifiants de votre application.kid: (facultatif)kidgénéré par Auth0 pour l’identifiant. Lekidest créé lorsque vous créez l’identifiant.
-
Charge utile
-
iss: ID client de votre application. Vous trouverez cette valeur dans les paramètres de votre application sous Auth0 Dashboard > Applications > Applications en sélectionnant l’onglet Settings. -
sub: ID client de votre application. Vous pouvez également trouver cette valeur dans les paramètres de votre application. Vous trouverez cette valeur dans les paramètres de votre application sous Auth0 Dashboard > Applications > Applications en sélectionnant l’onglet Settings. -
aud: URL du locataire Auth0 ou du domaine personnalisé qui reçoit l’assertion. Par exemple :https://{yourTenant}.auth0.com/. Incluez la barre oblique finale.Si vous avez configuré un domaine personnalisé pour votre locataire Auth0, il peut être utilisé comme claimaud. Nous recommandons d’utiliser le domaine personnalisé dans ce cas. -
iat(facultatif),nbf(facultatif) etexp: claims Issued At, Not Before et Expiration définis avec les horodatages appropriés. Un décalage d’horloge pouvant aller jusqu’à 10 secondes est autorisé pouriatetnbf(s’ils sont présents) afin d’assurer l’interopérabilité. L’assertion d’application est un jeton à usage unique, et nous recommandons la durée d’expiration la plus courte possible. Auth0 prend en charge une durée de vie maximale de 5 minutes pour un jeton. -
jti: identifiant de claim unique créé par l’application. Nous recommandons d’utiliser le format Universally Unique Identifier (UUID).
-
Exemple

Échanger une assertion contre des jetons d’accès
L’exemple suivant utilise le flux Client Credentials. L’authentification Private Key JWT peut aussi être utilisée avec d’autres types d’octroi qui permettent de remplacer
client_secret par client_assertion.$client_assertion: assertion JWT$resource_server_identifier: identifiant du . Pour en savoir plus, consultez Enregistrer des API.
Points de terminaison pris en charge
private_key_jwt pour les applications configurées :
Limites des assertions
iss: 64 caractèressub: 64 caractèresjti: 64 caractèresalg: 16 caractères