Passer au contenu principal
Les profils de définissent le format et les claim des jetons d’accès émis pour une API. Auth0 prend en charge les profils de jeton d’accès suivants, aussi appelés dialectes de jeton :
Profil de jetonDescriptionDialecte de jeton
Profil de jeton Auth0Le profil de jeton par défaut. Émet des jetons d’accès au format JSON Web Token (JWT).Le profil de jeton Auth0 est associé à deux dialectes de jeton :
  • access_token
  • access_token_authz, ou le profil access_token avec la revendication permissions incluse
Profil de jeton RFC 9068Émet des jetons d’accès au format JSON Web Token (JWT), conformément à la norme de l’IETF pour l’encodage des Access Tokens 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 revendication permissions incluse
Bien que les deux profils de jeton d’accès émettent des , ces 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 revendication permissions au jeton d’accès. Pour configurer le profil de jeton d’accès d’une API, consultez Configurer le profil de jeton d’accès.

Exemple de jeton pour le profil 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 jeton pour le profil 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 entre les profils de jeton

Le profil Auth0 et le profil RFC 9068 émettent des JWT dont le format de jeton diffère. Les principales différences sont les suivantes :
  • Le profil RFC 9068 intègre la claim jti, qui fournit un identifiant unique au JWT.
  • Le profil Auth0 utilise la claim azp pour représenter l’, tandis que le profil RFC 9068 utilise la claim client_id.
  • Le profil RFC 9068 n’utilise pas la claim gty, une claim propre à Auth0 qui représente le flux d’authentification.
DonnéesProfil RFC 9068Profil Auth0
typeat+jwtJWT
algAlgorithme de signature, par exemple RS256Algorithme de signature, par exemple RS256

Claim

RevendicationDescriptionPrésente dans le profil RFC 9068Présente dans le profil Auth0Exemple de revendication
issIdentifiant de l’émetteur du locataire Auth0 qui émet le jeton d’accès.OuiOuiDomaine du locataire : https://tenant.auth0.com/
subLa revendication sub indique pour quel utilisateur ou quelle application le jeton d’accès a été émis :
- Pour les octrois auxquels un utilisateur final participe (par ex., flux de code d’autorisation), la revendication sub correspond à user_id.
- Pour les applications Machine-to-Machine qui utilisent les identifiants de l’application (sans utilisateur final), la revendication sub est un identifiant unique de l’application.
OuiOui* ID utilisateur : auth0|6553da60a54af58e29493993
- ID client avec suffixe : awZfdIir8YFdGZWkvCejDoUb7SjTDicx@clients
audLa revendication audience définit le destinataire visé du jeton d’accès.OuiOui"https://test-server/api" ou [ "https://test-server/api", "https://test.local.dev.auth0.com/userinfo" ]
client_idID client de l’application qui demande le jeton d’accès.OuiNonID client : K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja
azpID client de l’application qui demande le jeton d’accès.NonOuiID client : K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja
expL’heure d’expiration à partir de laquelle le jeton d’accès ne doit plus être accepté.OuiOuiHorodatage Unix : 1516238022
iatHorodatage auquel le jeton d’accès a été délivré.OuiOuiHorodatage epoch : 1516239022
scopeScope associé au jeton d’accès émis. Consultez Scopes.OuiOui"openid profile offline_access"
jtiIdentifiant unique du jeton d’accès.OuiNonIdentifiant unique (chaîne de caractères) : aBv9njtYfwL4xfPZyEwz9m
gtyType d’octroi utilisé pour demander le jeton d’accès. Présent seulement pour client-credentials, password et refresh_token.NonSelon le casType d’octroi : password, client-credentials
permissionsPermissions disponibles en fonction des rôles. Présentes lorsque Activer RBAC et Ajouter les permissions dans le Jeton d’accès sont activés. Consultez RBAC for APIs.Selon le casSelon le cas[ "create:bar", "create:foo", "read:bar", "read:foo" ]
org_idID de l’organisation. Ajouté lorsque l’utilisateur s’est authentifié au moyen d’une organisation. Consultez Jetons et organisations.Selon le casSelon le casID de l’organisation : org_9ybsU1dN2dKfDkBi
org_nameNom de l’organisation. Ajouté lorsque l’utilisateur s’est authentifié par l’intermédiaire d’une organisation et que Organization Names in Authentication API est activé. Consultez Utiliser les noms d’organisation.Selon le casSelon le casNom de l’organisation : my_organization
authorization_detailsDétails d’autorisation utilisés dans les requêtes d’autorisation enrichies (RAR). Consultez RAR.Selon les casSelon les cas{ "type": "money_transfer", "instructedAmount": {"amount": 2500, "currency": "USD"}, "destinationAccount": "xxxx9876", "beneficiary": "Hanna Herwitz" }
cnfRevendication de confirmation pour mTLS Token Binding.Selon les casSelon le cas{"x5t#S256":"A4DtL2JmUMhAsvJj5tKyn64SqzmuXbMrJa0n761y5v0"}
Claims personnaliséesDes claims personnalisées peuvent être ajoutées au moyen d’Actions. Consultez Créer des claims personnalisées.Selon le casSelon le cas"favorite_color": "blue"