Profils des jetons d’accès
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 jeton Auth0 ou profil de jeton d’accès par défaut
Profil de jeton RFC 9068 ou profil de jeton d’accès qui suit le profil IETF JWT pour les jetons d’accès OAuth 2.0 (RFC 9068)
Profil de jeton | Description | Dialecte de jeton |
---|---|---|
Profil de jeton Auth0 | Le 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 :
|
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 :
|
Bien que les deux profils de jeton d’accès émettent des jetons d’accès JSON Web Token (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"
}
Was this helpful?
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"
}
Was this helpful?
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 demandeclient_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ée | Profil RFC 9068 | Profil Auth0 |
---|---|---|
type |
at+jwt |
JWT |
alg |
Algorithme de signature, par exemple, RS256 |
Algorithme de signature, par exemple, RS256 |
Demandes
Demande | Description |
Présente dans RFC 9068 Profile |
Présente dans le profil Auth0 |
Exemple de demande |
---|---|---|---|---|
iss |
Identifiant de l’émetteur pour le locataire Auth0 émettant le jeton d’accès. | Oui | Oui | Domaine du locataire : https://tenant.auth0.com/ |
sub |
L’objet de la demande indique pour quel utilisateur ou application le jeton d’accès a été émis :
|
Oui | Oui |
|
aud |
La demande audience définit le destinataire prévu pour le jeton d’accès. | Oui | Oui | "https://test-server/api" OU [ "https://test-server/api", "https://test.local.dev.auth0.com/userinfo" ] |
client_id |
L’ID client pour l’application qui fait la requête du jeton d’accès. | Oui | Non | Identifiant client : K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja |
azp |
ID client qui fait la requête du jeton d’accès. | Non | Oui | ID client : K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja |
exp |
Durée de l’expiration à partir de laquelle le jeton d’accès ne doit pas être accepté pour traitement. | Oui | Oui | Horodatage epoch en millisecondes : 1516238022 |
iat |
Horodatage indiquant le moment auquel le jeton a été émis. | Oui | Oui | Horodatage epoch en secondes : 1516239022 |
scope |
Permission(s) du jeton d’accès émis. Pour en savoir plus, consultez Permissions. | Oui | Oui | "openid profile offline_access" |
jti |
Identifiant unique pour le jeton d’accès. | Oui | Non | Identifiant à chaîne unique : aBv9njtYfwL4xfPZyEwz9m |
gty |
Type 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). |
Non | Selon le cas | Type d’autorisation : password |
permissions |
Autorisations 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 cas | Selon le cas | [ "create:bar", "create:foo", "read:bar", "read:foo" ] |
org_id |
Identifiant 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 cas | Selon le cas | Identifiant de l’Organization : org_9ybsU1dN2dKfDkBi |
org_name |
Nom 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 cas | Selon le cas | Nom d’Organization: my_organization |
authorization_details |
Dé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 cas | Selon le cas | { "type": "money_transfer", "instructedAmount": {"amount": 2500, "currency": "USD"}, "destinationAccount": "xxxxxxxxxxx9876", "beneficiary": "Hanna Herwitz", } |
cnf |
Demande de confirmation prise en charge par la Liaison de jeton mTLS. | Selon le cas | Selon le cas | {"x5t#S256":"A4DtL2JmUMhAsvJj5tKyn64SqzmuXbMrJa0n761y5v0"} |
Demandes personnalisées | Vous 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 cas | Selon le cas | "favorite_color": “blue” |