Revocación de tokens - 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.

Revocación de tokens

Puedes revocar un token de actualización para un usuario mediante la AWS API. Cuando se revoca un token de actualización, todos los tokens de acceso que este token de actualización haya emitido con anterioridad pierden su validez. Los otros tokens de actualización emitidos al usuario no se ven afectados.

nota

Los tokens de JWT son autónomos y cuentan con una firma y una fecha de vencimiento que se asignó cuando se creó el token. Los tokens revocados no se pueden utilizar con ninguna llamada a la API de Amazon Cognito que requiera un token. Sin embargo, los tokens revocados seguirán siendo válidos si se verifican con cualquier biblioteca JWT que verifique la firma y el vencimiento del token.

Puede revocar un token de actualización para un cliente de un grupo de usuarios con la revocación de tokens habilitada. Cuando se crea un nuevo cliente de grupos de usuarios, la revocación de tokens se habilita de forma predeterminada.

Habilitar la revocación de tokens

Antes de poder revocar un token para un cliente actual de grupos de usuarios, debe habilitar la revocación de tokens. Puedes habilitar la revocación del token para los clientes del grupo de usuarios existentes mediante la API AWS CLI o la AWS API. Para ello, llame al comando de CLI aws cognito-idp describe-user-pool-client o a la operación de la API DescribeUserPoolClient para recuperar la configuración actual del cliente de la aplicación. Luego, llame al comando de CLI aws cognito-idp update-user-pool-client o a la operación de la API UpdateUserPoolClient. Incluye la configuración actual del cliente de la aplicación y establece el parámetro EnableTokenRevocation en true.

Al crear un nuevo cliente de grupo de usuarios mediante la AWS Management Console, la API o la AWS API AWS CLI, la revocación de tokens se habilita de forma predeterminada.

Después de habilitar la revocación de tokens, se agregan nuevas reclamaciones en los JSON Web Tokens de Amazon Cognito. Las notificaciones origin_jti y jti se agregan a los tokens de acceso e ID. Estas notificaciones aumentan la dimensión de los tokens de acceso e ID del cliente de la aplicación.

Para crear o modificar un cliente de aplicaciones con la revocación de token habilitada, incluye el siguiente parámetro en tu solicitud CreateUserPoolCliento en la de la UpdateUserPoolClientAPI.

"EnableTokenRevocation": true

Revocación de un token

Puede revocar un token de actualización mediante una solicitud de RevokeTokenAPI, por ejemplo, con el comando aws cognito-idp revoke-token CLI. También puede revocar los tokens mediante Revocación de puntos de conexión. Este punto de enlace se encuentra disponible después de agregar un dominio a su grupo de usuarios. Puede utilizar el punto de conexión de revocación en un dominio alojado en Amazon Cognito o en su propio dominio personalizado.

nota

La solicitud para revocar un token de actualización debe incluir el ID del cliente que se utilizó para obtener el token.

A continuación, se muestra el cuerpo de una solicitud de la API de RevokeToken de ejemplo.

{ "ClientId": "1example23456789", "ClientSecret": "abcdef123456789ghijklexample", "Token": "eyJjdHkiOiJKV1QiEXAMPLE" }

A continuación, se muestra un ejemplo de solicitud cURL al punto de conexión /oauth2/revoke de un grupo de usuarios con un dominio personalizado.

curl --location 'auth.mydomain.com/oauth2/revoke' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic Base64Encode(client_id:client_secret)' \ --data-urlencode 'token=abcdef123456789ghijklexample' \ --data-urlencode 'client_id=1example23456789'

La operación RevokeToken y el punto de conexión /oauth2/revoke no requieren ninguna autorización adicional a menos que el cliente de la aplicación tenga un secreto de cliente.