Passer au contenu principal
Les profils de jetons d’accès définissent le format et les demandes des jetons d’accès émis pour une API. Auth0 prend en charge les profils de jetons d’accès suivants, également appelés dialectes de jetons :
Profil de jetonDescriptionDialecte de jeton
Profil de jeton Auth0Le profil de jeton par défaut. Émet des jetons d’accès formatés en tant que Jeton Web JSON (JWT).Le profil de jeton Auth0 est associé à deux dialectes de jeton :
  • access_token
  • access_token_authz, ou le profil access_token avec la demande de permissions incluse
Profil de jeton RFC 9068Émet des jetons d’accès formatés en tant que jeton Web JSON (JWT) suivant la norme IETF pour le codage des jetons d’accès OAuth 2.0 au format JWT.Le profil de jeton RFC 9068 est associé à deux dialectes de jeton :
  • rfc9068_profile
  • rfc9068_profile_authz, ou le profil rfc9068_profile avec la demande de permissions incluse
Bien que les deux profils de jeton d’accès émettent des jetons d’accès (JWT), les JWT ont des formats de jeton différents. Les deux profils de jeton d’accès peuvent activer le contrôle d’accès basé sur les rôles (RBAC) et ajouter la demande d’autorisation au jeton d’accès. Pour configurer le profil de jeton d’accès pour une API, veuillez consulter l’article Configurer le profil de jeton d’accès.

Exemple de profil de jeton Auth0

{
  "iss": "https://my-domain.auth0.com/",
  "sub": "auth0|123456",
  "aud": [
    "https://example.com/health-api",
    "https://my-domain.auth0.com/userinfo"
  ],
  "azp": "my_client_id",
  "exp": 1311281970,
  "iat": 1311280970,
  "scope": "openid profile read:patients read:admin",
  "my_custom_claim": "my_custom_value"
}

Exemple de profil de jeton RFC 9068

{
  "iss": "https://my-domain.auth0.com/",
  "sub": "auth0|123456",
  "aud": [
    "https://example.com/health-api",
    "https://my-domain.auth0.com/userinfo"
  ],
  "client_id": "my_client_id",
  "exp": 1311281970,
  "iat": 1311280970,
  "jti":"73WakrfVbNJBaAmhQtEeDv",
  "scope": "openid profile read:patients read:admin",
  "my_custom_claim": "my_custom_value"
}

Différences de profil de jeton

Le profil Auth0 et le profil RFC 9068 émettent des jetons JWT qui ont des formats de jetons différents. Les principales différences sont les suivantes :
  • Le profil RFC 9068 intègre la demande jti, fournissant un identifiant unique pour le jeton JWT.
  • Le profil Auth0 utilise la demande azp pour représenter l’ID client, tandis que le profil RFC 9068 utilise la demande client_ID.
  • Le profil RFC 9068 n’utilise pas la demande gty, qui est une demande propre à Auth0 qui représente le flux d’authentification.

En-tête

DonnéeProfil RFC 9068Profil Auth0
typeat+jwtJWT
algAlgorithme de signature, par exemple, RS256Algorithme de signature, par exemple, RS256

Demandes

Demande
Description
Présente dans RFC 9068 Profile
Présente dans le profil Auth0
Exemple de demande
issIdentifiant de l’émetteur pour le locataire Auth0 émettant le jeton d’accès.OuiOuiDomaine du locataire : https://tenant.auth0.com/
subL’objet de la demande indique pour quel utilisateur ou application le jeton d’accès a été émis :
  • Pour les autorisations dans lesquelles un utilisateur final est impliqué, comme le flux de code d’autorisation, la demande sub</code&gt ; est la suivante :user_id.
  • Pour les applications de communication entre machines utilisant l’autorisation d’identifiants client dans lesquelles aucun utilisateur final n’est impliqué, la demande sub est un identifiant unique pour l’application.
OuiOui
  • Identifiant utilisateur :auth0|6553da60a54af58e29493993
  • ID client avec le suffixe : awZfdIir8YFdGZWkvCejDoUb7SjTDicx@clients
audLa demande audience définit le destinataire prévu pour le jeton d’accès.OuiOui"https://test-server/api" OU [ "https://test-server/api", "https://test.local.dev.auth0.com/userinfo" ]
client_idL’ID client pour l’application qui fait la requête du jeton d’accès.OuiNonIdentifiant client : K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja
azpID client qui fait la requête du jeton d’accès.NonOuiID client : K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja
expDurée de l’expiration à partir de laquelle le jeton d’accès ne doit pas être accepté pour traitement.OuiOuiHorodatage epoch en millisecondes : 1516238022
iatHorodatage indiquant le moment auquel le jeton a été émis.OuiOuiHorodatage epoch en secondes : 1516239022
scopePermission(s) du jeton d’accès émis. Pour en savoir plus, consultez Permissions.OuiOui"openid profile offline_access"
jtiIdentifiant unique pour le jeton d’accès.OuiNonIdentifiant à chaîne unique : aBv9njtYfwL4xfPZyEwz9m
gtyType d’autorisation que l’application a utilisé pour demander le jeton d’accès. Présent seulement pour les types de d’autorisation password (mot de passe) et refresh_token (jeton d’actualisation).NonSelon le casType d’autorisation : password
permissionsAutorisations disponibles pour un utilisateur ou une application selon son rôle. Inclus seulement lorsque les paramètres Enable RBAC and Add permissions in the Access Token sont activés pour l’API. Pour en savoir plus, consultez Activer le contrôle d’accès basé sur les rôles (RBAC) pour les API.Spécifique au casSelon le cas[ "create:bar", "create:foo", "read:bar", "read:foo" ]
org_idIdentifiant d’Organization. Ajouté lorsqu’un utilisateur s’est authentifié via une Organization et que le paramètre Organization Names in Authentication API__ (Noms d’Organization dans Authentication API) est activé. Pour en apprendre davantage, lisez Travailler avec des jetons et Organizations.Selon le casSelon le casIdentifiant de l’Organization : org_9ybsU1dN2dKfDkBi
org_nameNom de l’ Organization. Ajouté lorsqu’un utilisateur s’est authentifié via une Organization et que le paramètre Organization Names in Authentication API (Noms d’Organization dans Authentication API) est activé. Pour en savoir plus, consultez Utiliser les noms d’Organization dans Authentication API.Selon le casSelon le casNom d’Organization: my_organization
authorization_detailsDétails d’autorisation utilisés dans les demandes d’autorisation riches (Rich Authorization Requests, RAR). Pour en savoir plus, consultez Flux de code d’autorisation avec RAR.Selon le casSelon le cas{ "type": "money_transfer", "instructedAmount": {"amount": 2500, "currency": "USD"}, "destinationAccount": "xxxxxxxxxxx9876", "beneficiary": "Hanna Herwitz", }
cnfDemande de confirmation prise en charge par la Liaison de jeton mTLS.Selon le casSelon le cas{"x5t#S256":"A4DtL2JmUMhAsvJj5tKyn64SqzmuXbMrJa0n761y5v0"}
Demandes personnaliséesVous pouvez ajouter des demandes personnalisées aux jetons d’accès via Actions. Pour en savoir plus, consultez Créer des demandes personnalisées.Selon le casSelon le cas"favorite_color": “blue”
I