Jeton d'accès

Les transactions OAuth réussies nécessitent que le serveur d'autorisation de domaine d'identité IAM émette des jetons d'accès à utiliser pour authentifier un appel d'API. Un jeton d'accès représente une autorisation émise pour l'application client contenant les informations d'identification utilisées pour accéder aux ressources OAuth protégées.

Le jeton d'accès fournit une session (avec portée 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 par programmation ou à l'aide de la console du domaine d'identité (exécution d'un appel d'API REST à l'aide de l'ID et de la clé secrète du client d'application). Les applications peuvent demander un jeton d'accès pour accéder aux adresses protégées de différentes manières, en fonction du type d'octroi indiqué dans l'application. Une autorisation est une information d'identification représentant l'autorisation du propriétaire de la ressource d'accéder à une ressource protégée. Reportez-vous à Types d'octroi d'accès.

Nom Valeur
tok_type* Identifie le type de jeton : AT
iss Principal qui a émis le jeton : https://<domainURL>
sub Identifie l'entité (Utilisateur/Client) qui demande l'accès. L'identificateur de sujet est unique localement et est destiné à être utilisé 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 la banque d'ID. Correspondance attr à partir des paramètres SSO.
sub_type

Le jeton d'accès de domaines d'identité contient la revendication sub_type qui indique le type de sujet (requête sub) transmis par le jeton. Si le jeton est émis uniquement pour le compte du client, la valeur de la réclamation est client. Sinon, si le jeton propage une identité utilisateur, la valeur de la demande est user.

Les entités traitant et validant le jeton d'accès peuvent utiliser la valeur de la demande sub_type pour appeler l'API REST /Asserter des domaines d'identité. Utilisez cette adresse pour demander des rôles d'application pour un client indiqué par la revendication sub. La valeur de la demande sub_type est transmise à /Asserter à l'aide du paramètre de demande SubjectType. Sans transmettre spécifiquement client à l'adresse /Asserter, les domaines d'identité supposent généralement que l'assesseur demande des informations pour un utilisateur plutôt que pour un client. Par conséquent, le paramètre d'entrée SubjectType de l'adresse /Asserter et la demande sub_type du jeton d'accès peuvent être utilisés par les entités traitant le jeton d'accès pour affirmer le paramètre AppRoles du client.

user_id* GUID des domaines d'identité de l'utilisateur à partir du contexte AuthN pour les jetons utilisateur. Non présent dans les jetons client uniquement.
user_displayname* Nom d'affichage des domaines d'identité de l'utilisateur (255 caractères ASCII au maximum) à partir du contexte AuthN. Non présent dans les jetons client uniquement.
user_tenantname* Nom du locataire utilisateur (255 caractères ASCII au maximum). Elle peut être différente de la location de ressource pour les cas d'utilisation entre locataires. Le GUID du locataire n'est spécifiquement pas enregistré dans le jeton et n'est pas présent dans les jetons client uniquement.
tenant* Nom du locataire de ressource lorsque la demande de jeton d'accès a été effectuée (255 caractères ASCII au maximum). Le GUID du locataire de ressource n'est spécifiquement pas enregistré dans le jeton.
user.tenant.name* Identique à tenant. Il est suivi à des fins de compatibilité descendante jusqu'à ce qu'il n'y ait plus de consommateurs hérités. Remarque : le nom de 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 portées pour un autre serveur de ressources. Par exemple : ["https://<domainURL>/", "https://example.com"]
iat Heure (époque UNIX) à laquelle le JWT a été émis. UNIX Epoch Time 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 et l'heure.
sid L'ID de 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). Reportez-vous à la table Expiration de jeton.
scope Chaîne délimitée par des espaces contenant des portées.
jti Identificateur unique généré par le serveur pour l'ID JWT.
client_id* ID de client OAuth. Il s'agit du GUID du client OAuth qui effectue la demande. Lorsque Cloud Gate envoie des demandes, il s'agit du GUID du fichier OAuth CloudGate défini dans la location oracle globale.
client_name* OAuth client_name. Nom du client OAuth effectuant 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 locataire client (255 maximum). Elle peut être différente de la location de ressource pour les cas d'utilisation entre locataires.

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 vers un domaine d'identité.

Remarque

L'expiration du jeton personnalisé est toujours soumise aux règles d'expiration globales du jeton d'accès. Reportez-vous à la table Expiration de jeton.

Exemple de requête

   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éaction

{
"access_token":"eyJ4NXQjUzIc....q3E8x1tTEwPthTg",
"token_type":"Bearer", 
"expires_in":300 
}