Token de acceso

Las transacciones correctas de OAuth requieren que el servidor de autorización del dominio de identidad de IAM emita tokens de acceso para su uso en la autenticación de una llamada de API. Un token de acceso representa una autorización emitida a la aplicación cliente que contiene las credenciales utilizadas para acceder a los recursos OAuth protegidos.

El token de acceso proporciona una sesión (con ámbito y caducidad) que la aplicación cliente puede utilizar para realizar tareas en la API de REST de los dominios de identidad. El token de acceso se puede obtener mediante la consola del dominio de identidad o mediante programación (realización de una llamada a la API de REST mediante el secreto y el ID de cliente de la aplicación). Las aplicaciones pueden solicitar un token de acceso para acceder a puntos finales protegidos de diferentes formas, según el tipo de permiso especificado en la aplicación. Un permiso es una credencial que representa la autorización del propietario del recurso para acceder a un recurso protegido. Consulte Acceso a tipos de permiso.

Nombre Valor
tok_type* Identifica el tipo de token: AT
iss El principal que emitió el token: https://<domainURL>
sub Identifica la entidad (usuario/cliente) que solicita acceso. El identificador de asunto es localmente único y está destinado a ser consumido por el cliente. En el caso de los tokens IDPropagation, contiene el ID de usuario del usuario. En otros casos, contiene clientID.
sub_mappingattr* Atributo utilizado para buscar sub en el almacén de ID. Esta es la asignación attr de la configuración de SSO.
sub_type

El token de acceso de los dominios de identidad contiene la reclamación sub_type que indica el tipo de sujeto (reclamación sub) que transmite el token. Si el token se emite únicamente en nombre del cliente, el valor de la reclamación es client. De lo contrario, si el token está propagando una identidad de usuario, el valor de la reclamación es user.

Las entidades que procesan y validan el token de acceso pueden utilizar el valor de la reclamación sub_type para llamar a la API de REST /Asserter de los dominios de identidad. Utilice este punto final para solicitar roles de aplicación para un cliente indicado por la reclamación sub. El valor de la reclamación sub_type se transfiere a /Asserter mediante el parámetro de solicitud SubjectType. Sin transferir específicamente client al punto final /Asserter, los dominios de identidad normalmente asumen que Asserter está solicitando información para un usuario, en lugar de para un cliente. Hence, the /Asserter endpoint's SubjectType input parameter and the access token's sub_type claim can be used by entities processing the access token to assert the client's AppRoles.

user_id* GUID de dominios de identidad del usuario desde el contexto AuthN para tokens de usuario. No está presente en tokens de solo cliente.
user_displayname* Nombre mostrado de los dominios de identidad del usuario (255 caracteres ASCII como máximo) del contexto AuthN. No está presente en tokens de solo cliente.
user_tenantname* Nombre de inquilino de usuario (255 caracteres ASCII como máximo). Puede ser diferente del arrendamiento de recursos para casos de uso entre inquilinos. El GUID del inquilino no se guarda específicamente en el token y no está presente en los tokens solo del cliente.
tenant* Nombre de inquilino de recurso cuando se realizó la solicitud para el token de acceso (255 caracteres ASCII como máximo). El GUID del inquilino del recurso no se guarda específicamente en el token.
user.tenant.name* Igual que tenant. Se realiza un seguimiento para fines de compatibilidad con versiones anteriores hasta que no haya más consumidores heredados. Nota: El nombre de inquilino es el dominio de identidad.
aud Contiene la cadena de URI esperada por el servidor de recursos para que coincida con los prefijos de recursos de la URL de destino. Se pueden especificar varias cadenas de URI con el formato AUD estándar. Este es el caso cuando la solicitud de OIDC también contiene ámbitos para otro servidor de recursos. Por ejemplo: ["https://<domainURL>/", "https://example.com"]
iat Hora (tiempo de época UNIX) en que se emitió el JWT. El tiempo de época de UNIX es un número JSON que representa el número de segundos desde 1970-01-01T0:0:0Z medido en el tiempo universal coordinado (UTC) hasta la fecha/hora.
sid El ID de sesión del token de identidad es el token de identidad que se utilizó durante la solicitud del token.
exp Tiempo (tiempo de época UNIX) en que caduca el JWT (en segundos). Consulte la tabla de caducidad de token.
scope Cadena delimitada por espacios que contiene ámbitos.
jti Identificador único generado por el servidor para el ID de JWT.
client_id* ID de cliente OAuth. Este es el GUID del cliente OAuth que realiza la solicitud. Cuando Cloud Gate realiza solicitudes, este es el GUID del OAuth CloudGate definido en el arrendamiento global de oracle.
client_name* OAuth client_name. Este es el nombre del cliente OAuth que realiza la solicitud. Cuando CloudGate realiza solicitudes, este es el nombre del cliente CloudGate OAuth definido en el arrendamiento global de oracle.
client_tenantname* Nombre de inquilino de cliente (máximo 255). Puede ser diferente del arrendamiento de recursos para casos de uso entre inquilinos.

Especificación de la caducidad de un token de acceso personalizado

Utilice el siguiente ejemplo de solicitud y respuesta para especificar un valor de caducidad de token de acceso personalizado en una solicitud de token de acceso a un dominio de identidad.

Nota

La caducidad del token personalizado aún está sujeta a las reglas de caducidad del token de acceso general. Consulte la tabla de caducidad de token.

Solicitud de ejemplo

   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'

Respuesta de ejemplo

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