Finalizar las sesiones de usuario con la revocación del token - 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.

Finalizar las sesiones de usuario con la revocación del token

Puede revocar un token de actualización para un usuario mediante los grupos de usuarios API o el servidor de autorización. Revocación de puntos de conexión 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

JWTlos tokens son independientes y cuentan con una firma y una hora de caducidad que se asignaron cuando se creó el token. Los tokens revocados no se pueden usar con ninguna llamada de Amazon API Cognito que requiera un token. Sin embargo, los tokens revocados seguirán siendo válidos si se verifican mediante cualquier JWT biblioteca 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. Puede habilitar la revocación del token para los clientes del grupo de usuarios existentes mediante el o el AWS CLI . AWS API Para ello, aws cognito-idp describe-user-pool-client CLI ejecute el comando o la DescribeUserPoolClient API operación para recuperar la configuración actual del cliente de la aplicación. A continuación, aws cognito-idp update-user-pool-client CLI ejecute el comando o la UpdateUserPoolClient API operación. 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 el AWS Management Console, el token o el AWS CLI AWS API, la revocación está habilitada de forma predeterminada.

Tras activar la revocación de los tokens, se añaden nuevos reclamos a los Web Tokens de Amazon JSON 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 aplicación con la revocación de tokens habilitada, incluya el siguiente parámetro en su solicitud o en su CreateUserPoolClientsolicitud. UpdateUserPoolClientAPI

"EnableTokenRevocation": true

Revocación de un token

Puedes revocar un token de actualización mediante una RevokeTokenAPIsolicitud, por ejemplo, con el aws cognito-idp revoke-token CLI comando. 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 RevokeToken API solicitud de ejemplo.

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

El siguiente es un ejemplo de URL solicitud al /oauth2/revoke punto final 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.