Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Descripción del token de acceso
El token de acceso de grupo de usuarios contiene notificaciones acerca del usuario autenticado, una lista de los grupos de usuarios y una lista de ámbitos. La finalidad del token de acceso es autorizar operaciones de la API. Su grupo de usuarios acepta tokens de acceso para autorizar las operaciones de autoservicio de los usuarios. Por ejemplo, puede utilizar el token de acceso para conceder acceso a sus usuarios a fin de agregar, cambiar o eliminar atributos de usuarios.
Con los ámbitos OAuth 2.0
Con el plan de características Essentials o Plus, también puede implementar un desencadenador de Lambda Antes de la generación del token que añada ámbitos a los tokens de acceso en tiempo de ejecución. Para obtener más información, consulte Desencadenador de Lambda anterior a la generación del token.
El token de acceso de un usuario con el ámbito openid es un permiso para solicitar más información sobre los atributos de su usuario a El punto de conexión userInfo. La cantidad de información del punto de conexión userInfo se deriva de los ámbitos adicionales del token de acceso: por ejemplo, profile para todos los datos del usuario y email para su dirección de correo electrónico.
El token de acceso de un usuario con el ámbito aws.cognito.signin.user.admin es el permiso para leer y escribir los atributos del usuario, enumerar los factores de autenticación, configurar las preferencias de autenticación multifactor (MFA) y administrar los dispositivos recordados. El nivel de acceso a los atributos que tu token de acceso otorga a este ámbito coincide con los read/write permisos de atributos que asignes al cliente de tu aplicación.
El token de acceso es un token web JSON (JWT)kid) no coincide con el valor de la reclamación kid de un token de ID de la misma sesión de usuario. En el código de su aplicación, verifique los tokens de ID y los tokens de acceso de forma independiente. No confíe en las reclamaciones de un token de acceso hasta que verifique la firma. Para obtener más información, consulte Verificación de tokens web JSON. Puede utilizar cualquier valor de entre 5 minutos y 1 día para configurar el vencimiento del token de acceso. Puede configurar este valor por cliente de aplicación.
importante
Para los tokens de acceso e ID, no especifique un valor mínimo inferior a una hora si utiliza el inicio de sesión administrado. El inicio de sesión administrado establece cookies del navegador que son válidas durante una hora. Si configura una duración del token de acceso inferior a una hora, esto no afecta a la validez de la cookie de inicio de sesión administrado ni a la capacidad de los usuarios para volver a autenticarse sin credenciales adicionales durante una hora después del inicio de sesión inicial.
Encabezado del token de acceso
El encabezado contiene dos bloques de información: el ID de clave (kid) y el algoritmo (alg).
{ "kid" : "1234example=" "alg" : "RS256", }
kid-
ID de la clave. Este valor indica la clave que se ha utilizado para proteger la firma web JSON (JWS) del token. Puedes ver la clave de firma de tu grupo de usuarios IDs en el
jwks_uripunto final.Para obtener más información sobre el parámetro
kid, consulte Parámetro de encabezado de identificador de clave (kid). alg-
El algoritmo criptográfico que Amazon Cognito utilizó para proteger el token de acceso. Los grupos de usuarios utilizan un algoritmo RS256 criptográfico, que es una firma RSA con SHA-256.
Para obtener más información sobre el
algparámetro, consulte Parámetro de encabezado de algoritmos (alg).
Carga útil predeterminada del token de acceso
Esta es una carga de muestra de un token de acceso. Para obtener más información, consulte las notificaciones JWT
<header>. { "sub":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "device_key": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cognito:groups":[ "testgroup" ], "iss":"https://cognito-idp.us-west-2.amazonaws.com/us-west-2_example", "version":2, "client_id":"xxxxxxxxxxxxexample", "aud": "https://api.example.com", "origin_jti":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "event_id":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "token_use":"access", "scope":"phone openid profile resourceserver.1/appclient2 email", "auth_time":1676313851, "exp":1676317451, "iat":1676313851, "jti":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "username":"my-test-user" } .<token signature>
sub-
El identificador único (UUID) o asunto, para el usuario autenticado. Es posible que el nombre de usuario no sea único en el grupo de usuarios. La reclamación
subes la mejor forma de identificar a un usuario determinado. cognito:groups-
Una matriz con los nombres de los grupos de usuarios que tienen a su usuario como miembro.
iss-
El proveedor de identidad que emitió el token. La reclamación tiene el formato siguiente:
https://cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE client_id-
El cliente de la aplicación del grupo de usuarios que ha autenticado a su usuario. Amazon Cognito representa el mismo valor en la reclamación
auddel token de ID. - aud
-
La URL de la API que se pretende autorizar con el token de acceso. Está presente solo si la aplicación solicitó una vinculación de recursos a su servidor de autorización.
origin_jti-
Un identificador de revocación de tokens asociado al token de actualización del usuario. Amazon Cognito hace referencia a la
origin_jtireclamación cuando comprueba si revocó el token de su usuario con la operación Revocación de puntos de conexión o la RevokeTokenAPI. Al revocar un token, Amazon Cognito deja de validar los tokens de acceso e ID con el mismo valororigin_jti. token_use-
El objetivo para el que se creó el token. En un token de acceso, su valor es
access. scope-
Una lista de los ámbitos OAuth 2.0 emitidos al usuario que ha iniciado sesión. Los ámbitos definen el acceso que el token proporciona a las operaciones externas APIs de autoservicio del usuario y a los datos del usuario en el punto final.
userInfoUn token de Punto de conexión de token puede contener cualquier ámbito que admita el cliente de la aplicación. Un token del inicio de sesión de la API de Amazon Cognito solo contiene el ámbitoaws.cognito.signin.user.admin. auth_time-
La hora de autenticación, en formato de hora de Unix, a la que el usuario completó la autenticación.
exp-
La hora de caducidad, en formato de hora de Unix, en la que vence el token de su usuario.
iat-
La hora de emisión, en formato de hora de Unix, a la que Amazon Cognito emitió el token de su usuario.
jti-
El identificador único del JWT.
username-
El nombre de usuario del usuario en el grupo de usuarios.
Firma del token de acceso
La firma del token de acceso, firmada con la clave anunciada en el punto de conexión .well-known/jwks.json, valida la integridad del encabezado y la carga útil del token. Cuando utilices los tokens de acceso para autorizar el acceso a datos externos APIs, configura siempre tu autorizador de API para que verifique esta firma con la clave que la firmó. Para obtener más información, consulte Verificación de tokens web JSON.