Jeton d'accès
Les transactions OAuth réussies nécessitent que le serveur d'autorisation du domaine d'identité IAM émette des jetons d'accès à utiliser pour l'authentification d'un appel d'API. Un jeton d'accès représente une autorisation émise à l'application client contenant les données d'identification utilisées pour accéder aux ressources OAuth protégées.
Le jeton d'accès fournit une session (avec étendue et expiration), que votre application client peut utiliser pour effectuer des tâches dans l'API REST des domaines d'identité. Le jeton d'accès peut être obtenu à l'aide de la console du domaine d'identité ou par programmation (exécution d'un appel d'API REST à l'aide de l'ID client et de la clé secrète de l'application). Les applications peuvent demander un jeton d'accès pour accéder aux points d'extrémité protégés de différentes manières, selon le type d'autorisation spécifié dans l'application. Une autorisation est une donnée d'identification représentant l'autorisation du responsable de la ressource d'accéder à une ressource protégée. Voir Types d'autorisation d'accès.
Nom | Valeur |
---|---|
tok_type*
|
Identifie le type de jeton : AT |
iss
|
Principal ayant émis le jeton : https://<domainURL>
|
sub
|
Identifie l'entité (utilisateur/client) qui demande l'accès. L'identificateur de sujet est localement unique et est destiné à être consommé par le client. Dans le cas des jetons IDPropagation, cela contient l'ID utilisateur de l'utilisateur. Dans d'autres cas, il contient clientID. |
sub_mappingattr*
|
Attribut utilisé pour rechercher sub dans le magasin d'ID. Il s'agit du mappage attr à partir des paramètres d'authentification unique. |
sub_type
|
Le jeton d'accès aux domaines d'identité contient la revendication Les entités traitant et validant le jeton d'accès peuvent utiliser la valeur de la revendication |
user_id*
|
GUID des domaines d'identité de l'utilisateur à partir du contexte AuthN pour les jetons d'utilisateur. Non présent dans les jetons côté client seulement. |
user_displayname*
|
Nom d'affichage des domaines d'identité de l'utilisateur (255 caractères ASCII maximum) à partir du contexte AuthN. Non présent dans les jetons côté client seulement. |
user_tenantname*
|
Nom du locataire de l'utilisateur (255 caractères ASCII au maximum). Peut être différent de la location de ressource pour les cas d'utilisation interlocataire. Le GUID du client n'est spécifiquement pas enregistré dans le jeton et n'est pas présent dans les jetons côté client. |
tenant*
|
Nom du locataire de la ressource lors de la demande de jeton d'accès (255 caractères ASCII au maximum). Le GUID du client de ressources n'est spécifiquement pas enregistré dans le jeton. |
user.tenant.name*
|
Identique à tenant. Ce suivi est effectué à des fins de rétrocompatibilité jusqu'à ce qu'il n'y ait plus de clients existants. Note : Le nom du locataire est le domaine d'identité. |
aud
|
Contient la chaîne d'URI attendue par le serveur de ressources pour correspondre aux préfixes de ressource de l'URL cible. Plusieurs chaînes d'URI peuvent être spécifiées à l'aide du format AUD standard. C'est le cas lorsque la demande OIDC contient également des étendues pour un autre serveur de ressources. Par exemple : ["https://<domainURL>/", "https://example.com"] |
iat
|
Heure (heure UNIX) à laquelle le JWT a été émis. L'heure d'époque UNIX est un nombre JSON représentant le nombre de secondes entre 1970-01-01T0 :0:0Z, mesuré en temps universel coordonné (UTC) et la date/heure. |
sid
|
L'ID session du jeton d'identité est le jeton d'identité utilisé lors de la demande de jeton. |
exp
|
Heure (heure UNIX) à laquelle le jeton JWT expire (en secondes). Voir la table d'expiration des jetons. |
scope
|
Chaîne délimitée par des espaces contenant des étendues. |
jti
|
Identificateur unique généré par le serveur pour l'ID JWT. |
client_id*
|
ID client OAuth. Il s'agit du GUID du client OAuth qui effectue la demande. Lorsque Cloud Gate effectue des demandes, il s'agit du GUID de OAuth CloudGate défini dans la location oracle globale. |
client_name*
|
OAuth client_name. Il s'agit du nom du client OAuth qui effectue la demande. Lorsque CloudGate effectue des demandes, il s'agit du nom du client CloudGate OAuth défini dans la location oracle globale. |
client_tenantname*
|
Nom du client (maximum 255). Peut être différent de la location de ressource pour les cas d'utilisation interlocataire. |
Spécification d'une expiration de jeton d'accès personnalisé
Utilisez l'exemple de demande et de réponse suivant pour spécifier une valeur d'expiration de jeton d'accès personnalisé dans une demande de jeton d'accès à un domaine d'identité.
L'expiration du jeton personnalisé est toujours soumise aux règles globales d'expiration du jeton d'accès. Voir la table d'expiration des jetons.
Exemple de demande
curl -k -i
-H 'Authorization: Basic dGVzdERvbWFpbkFkbWluOmZmNGUzNGE3LWVlNGQtNDAzNy1iNmNmLTUwZGVmMmNjMzM5Zg=='
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8'
--request POST 'https://<domainURL>/oauth2/v1/token'
-d 'grant_type=client_credentials&scope=urn:opc:idm:__myscopes__%20urn:opc:resource:expiry=300'
Exemple de réponse
{
"access_token":"eyJ4NXQjUzIc....q3E8x1tTEwPthTg",
"token_type":"Bearer",
"expires_in":300
}