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 un jeton d'actualisation pour un utilisateur à l'aide des groupes d'utilisateurs API ou du serveur Point de terminaison de révocation d'autorisation. 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.
Note
JWTles jetons sont autonomes et leur signature et leur date d'expiration ont été assignés lors de leur création. Les jetons révoqués ne peuvent pas être utilisés avec les appels Amazon API Cognito nécessitant un jeton. Toutefois, les jetons révoqués seront toujours valides s'ils sont vérifiés à l'aide d'une JWT bibliothèque vérifiant la signature et l'expiration du jeton.
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 du AWS CLI
ou du AWS API. Pour ce faire, appelez la aws cognito-idp
describe-user-pool-client
CLI commande ou l'DescribeUserPoolClient
APIopération pour récupérer les paramètres actuels de votre client d'application. Appelez ensuite la aws
cognito-idp update-user-pool-client
CLI commande ou l'UpdateUserPoolClient
APIopération. 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 groupe d'utilisateurs, le client à l' AWS Management Console aide du jeton AWS CLI, ou du jeton AWS API, la révocation est activée par défaut.
Une fois que vous avez activé la révocation des jetons, de nouvelles demandes sont ajoutées dans les jetons Web Amazon JSON 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 pour lequel la révocation des jetons est activée, incluez le paramètre suivant dans votre UpdateUserPoolClientAPIdemande CreateUserPoolClientou dans votre demande.
"EnableTokenRevocation":
true
Révocation d'un jeton
Vous pouvez révoquer un jeton d'actualisation à l'aide d'une RevokeTokenAPIdemande, par exemple à l'aide de la aws cognito-idp
revoke-token
CLI commande. 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.
Le corps d'un exemple de RevokeToken
API demande est présenté ci-dessous.
{ "ClientId": "
1example23456789
", "ClientSecret": "abcdef123456789ghijklexample
", "Token": "eyJjdHkiOiJKV1QiEXAMPLE
" }
Voici un exemple de URL demande C adressée au /oauth2/revoke
point de terminaison 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.