Comprender el token de acceso - Amazon Cognito

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.

Comprender el 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. El propósito del token de acceso es autorizar las API operaciones. 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 en un token de acceso, derivados de los ámbitos personalizados que añades a tu grupo de usuarios, puedes autorizar a tu usuario a recuperar información de un. API Por ejemplo, Amazon API Gateway admite la autorización con los tokens de acceso de Amazon Cognito. Puede rellenar un REST API autorizador con información de su grupo de usuarios o utilizar Amazon Cognito como autorizador de Web Token JWT () para JSON un. HTTP API Para generar un token de acceso con ámbitos personalizados, debe solicitarlo a través de los puntos de conexión públicos de su grupo de usuarios.

El token de acceso de su usuario es un permiso para solicitar más información sobre los atributos de su usuario a userInfo punto final. El token de acceso de su usuario también es un permiso para leer y escribir atributos de usuario. El nivel de acceso a los atributos que otorga su token de acceso depende de los permisos que asigne al cliente de su aplicación y de los ámbitos que conceda en el token.

El token de acceso es un token JSONweb (). JWT El encabezado del token de acceso tiene la misma estructura que el token de ID. Amazon Cognito firma los tokens de acceso con una clave diferente a la clave que firma los tokens de ID. El valor de una reclamación de ID de clave de acceso (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 un token JSON web. 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 la IU alojada. Amazon Cognito HostedUI utiliza cookies que son válidas durante una hora. Si ingresa un mínimo inferior a una hora, no obtendrá un tiempo de caducidad inferior.

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. Su valor indica la clave que se utilizó para proteger la firma JSON web (JWS) del token. Puede ver la clave de firma de su grupo de usuarios IDs en el jwks_uri punto final.

Para obtener más información sobre el parámetrokid, 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 RSA firma 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, consulta JWTlas reclamaciones. Puede añadir afirmaciones de su propio diseño con unDesencadenador de Lambda anterior a la generación del token.

<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", "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

Un 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 sub es 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.<Region>.amazonaws.com/<your user pool ID>

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 aud del token de ID.

origin_jti

Un identificador de revocación de tokens asociado al token de actualización del usuario. Amazon Cognito hace referencia a la origin_jti reclamación cuando comprueba si revocó el token de su usuario con la operación Revocación de puntos de conexión o la operación. RevokeTokenAPI Al revocar un token, Amazon Cognito invalida todos los tokens de acceso e ID con el mismo valor origin_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 ámbitos OAuth 2.0 que definen el acceso que proporciona el token. Un 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 API sesión en Amazon Cognito solo contiene el ámbito. aws.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 de. JWT

username

El nombre de usuario del usuario en el grupo de usuarios.

Firma del token de acceso

La firma del token de acceso se calcula en función del encabezado y la carga útil del JWT token. Si se utiliza fuera de una aplicación en tu webAPIs, siempre debes verificar esta firma antes de aceptar el token. Para obtener más información, consulte Verificación de un token JSON web.