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 de OAuth 2.0
El token de acceso de su usuario es un permiso para solicitar más información sobre los atributos de su usuario a El punto de conexión userInfo. 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 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 un JSON Web Token. 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. Este valor indica la clave que se ha utilizado para proteger la firma web JSON (JWS) del token. Puede ver los ID de las claves de firma de su grupo de usuarios en el punto de conexión de
jwks_uri
.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 usan un algoritmo criptográfico RS256, que es una firma RSA con SHA-256.
Para obtener más información sobre el
alg
pará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", "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
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 reclamación
origin_jti
cuando comprueba si ha revocado el token del usuario con Revocación de puntos de conexión o la operación de la API RevokeToken. Al revocar un token, Amazon Cognito invalida todos 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 ámbitos de 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 sesión de la API de 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 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 se calcula en función del encabezado y la carga del token JWT. Cuando se utiliza fuera de una aplicación en las API web, se debe verificar siempre esta firma para poder aceptar el token. Para obtener más información, consulte Verificación de un JSON Web Token.