Fin des sessions utilisateur par révocation de jetons - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fin des sessions utilisateur par révocation de jetons

Vous pouvez révoquer les jetons d'actualisation et les sessions des utilisateurs finaux à l'aide des méthodes suivantes. Lorsque vous révoquez un jeton d'actualisation, tous les jetons d'accès précédemment émis par celui-ci deviennent non valides. Les autres jetons d'actualisation émis à l'utilisateur ne sont pas affectés.

RevokeToken opération

RevokeTokenrévoque tous les jetons d'accès pour un jeton d'actualisation donné, y compris le jeton d'accès initial lors de la connexion interactive. Cette opération n'affecte aucun des autres jetons d'actualisation de l'utilisateur ni les fils d'identification et de jeton d'accès de ces autres jetons d'actualisation.

Point de terminaison de révocation

Le point de terminaison de révocation révoque un jeton d'actualisation donné ainsi que tous les jetons d'identification et d'accès générés par le jeton d'actualisation. Ce point de terminaison révoque également le jeton d'accès initial lors de la connexion interactive. Les demandes adressées à ce point de terminaison n'affectent aucun des autres jetons d'actualisation de l'utilisateur ni les enfants des jetons d'identification et d'accès de ces autres jetons d'actualisation.

GlobalSignOut

GlobalSignOutest une opération en libre-service qu'un utilisateur autorise à l'aide de son jeton d'accès. Cette opération révoque tous les jetons d'actualisation, d'identification et d'accès de l'utilisateur demandeur.

AdminUserGlobalSignOut

AdminUserGlobalSignOutest une opération côté serveur qu'un administrateur autorise à l'aide des informations d'identification IAM. Cette opération révoque tous les jetons d'actualisation, d'identification et d'accès de l'utilisateur cible.

Note

Le groupe JWTs d'utilisateurs est autonome avec une signature et un délai d'expiration qui ont été attribués lors de la création du jeton. Il n'est pas possible d'utiliser des jetons révoqués avec des appels d'API Amazon Cognito nécessitant un jeton. Cependant, les jetons révoqués restent valides s'ils sont vérifiés à l'aide d'une bibliothèque JWT qui vérifie leur signature et leur expiration.

Vous pouvez révoquer un jeton d'actualisation pour un client de groupe d'utilisateurs pour lequel la révocation de jeton est activée. Lorsque vous créez un client de groupe d'utilisateurs, la révocation de jetons est activée par défaut.

Activer la révocation de jetons

Pour pouvoir révoquer un jetons pour un client de groupe d'utilisateurs existant, vous devez activer la révocation de jetons. Vous pouvez activer la révocation des jetons pour les clients du groupe d'utilisateurs existants à l'aide de l'API AWS CLI ou de l' AWS API. Pour ce faire, appelez la Commande de l'interface de ligne de commande aws cognito-idp describe-user-pool-client ou l'opération de l'API DescribeUserPoolClient pour récupérer les paramètres actuels de votre client d'application. Appelez ensuite la commande de l'interface de ligne de commande aws cognito-idp update-user-pool-client ou l'opération de l'API UpdateUserPoolClient. Incluez les paramètres actuels de votre client d'application et définissez le paramètre EnableTokenRevocation sur true.

Lorsque vous créez un nouveau client de groupe d'utilisateurs à l'aide de l' AWS Management Console API AWS CLI, de la ou de l' AWS API, la révocation des jetons est activée par défaut.

Une fois que vous avez activé la révocation de jetons, de nouveaux champs standard sont ajoutés dans les jetons Web JSON Amazon Cognito. Les revendications origin_jti et jti sont ajoutées aux jetons d'accès et d'identification. Ces revendications augmentent la taille des jetons d'accès et d'identification du client d'application.

Pour créer ou modifier un client d'application avec la révocation des jetons activée, incluez le paramètre suivant dans votre demande CreateUserPoolClientou dans votre demande UpdateUserPoolClientd'API.

"EnableTokenRevocation": true

Révocation d'un jeton

Vous pouvez révoquer un jeton d'actualisation à l'aide d'une demande d'RevokeTokenAPI, par exemple à l'aide de la commande aws cognito-idp revoke-token CLI. Vous pouvez également révoquer des jetons à l'aide du Point de terminaison de révocation. Ce point de terminaison est disponible après l'ajout d'un domaine à votre groupe d'utilisateurs. Vous pouvez utiliser le point de terminaison de révocation sur un domaine hébergé par Amazon Cognito ou sur votre propre domaine personnalisé.

Note

Votre demande de révocation d'un jeton d'actualisation doit inclure l'identifiant client utilisé pour obtenir le jeton.

L'exemple qui suit illustre un exemple de demande d'API RevokeToken.

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

Voici un exemple de demande cURL adressée au point de terminaison /oauth2/revoke d'un groupe d'utilisateurs avec un domaine personnalisé.

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'

L'opération RevokeToken et le point de terminaison /oauth2/revoke ne nécessitent aucune autorisation supplémentaire, sauf si votre client d'application possède un secret client.