Token de Acceso

Las transacciones OAuth correctas requieren que el servidor de autorización del dominio de identidad de IAM emita tokens de acceso para utilizarlos 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 protegidos OAuth.

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 ID y el secreto de cliente de la aplicación). Las aplicaciones pueden solicitar un token de acceso para acceder a los 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 Tipos de permiso de acceso.

Nombre Valor
tok_type* Identifica el tipo de token: AT
iss Principal que ha emitido 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. Se trata de la asignación attr de la configuración de SSO.
sub_type

El token de acceso de dominios de identidad contiene la reclamación sub_type que indica el tipo de asunto (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 de los dominios de identidad /Asserter. 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. Por lo tanto, las entidades que procesan el token de acceso pueden utilizar el parámetro de entrada SubjectType del punto final /Asserter y la reclamación sub_type del token de acceso para afirmar el AppRoles del cliente.

user_id* GUID de dominios de identidad del usuario del contexto AuthN para tokens de usuario. No está presente en tokens solo de cliente.
user_displayname* Nombre mostrado de los dominios de identidad del usuario (255 caracteres ASCII máximos) del contexto AuthN. No está presente en tokens solo de 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 de solo cliente.
tenant* Nombre del inquilino del recurso cuando se realizó la solicitud del token de acceso (255 caracteres ASCII máximos). 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 que espera 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 algún otro servidor de recursos. Por ejemplo: ["https://<domainURL>/", "https://example.com"]
iat Hora (hora de UNIX) en que se emitió el JWT. UNIX Epoch Time es un número JSON que representa el número de segundos desde 1970-01-01T0:0:0Z, medido en Coordinated Universal Time (UTC) hasta la fecha/hora.
sid El ID de sesión del token de identidad es el token de identidad que se ha utilizado durante la solicitud del token.
exp Tiempo (tiempo de 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 de 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 la siguiente solicitud y respuesta de ejemplo 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 sigue estando 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 
}