Révocation de jetons - Amazon Cognito

Révocation de jetons

Vous pouvez révoquer un jeton d'actualisation pour un utilisateur à l'aide de l'API AWS. 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

Les jetons JWT sont autonomes avec une signature et une heure d'expiration assignée 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 de jetons pour les clients du groupe d'utilisateurs existants à l'aide de l'AWS CLI ou de l'API AWS. Pour ce faire, appelez la commande CLI aws cognito update-user-pool-client ou l'opération de l'API UpdateUserPoolClient. Ce faisant, définissez le paramètre EnableTokenRevocation sur true.

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

Une fois que vous avez activé la révocation de jetons, de nouvelles revendications sont ajoutées 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.

L'exemple de JSON suivant affiche une demande d'activation de la révocation de jetons à l'aide de l'API CreateUserPoolClient.

{ "AccessTokenValidity": 123, "AllowedOAuthFlows": [ "string" ], "AllowedOAuthFlowsUserPoolClient": true, "AllowedOAuthScopes": [ "string" ], "AnalyticsConfiguration": { "ApplicationArn": "string", "ApplicationId": "string", "ExternalId": "string", "RoleArn": "string", "UserDataShared": false }, "CallbackURLs": [ "string" ], "ClientName": "string", "DefaultRedirectURI": "string", "ExplicitAuthFlows": [ "string" ], "GenerateSecret": true, "IdTokenValidity": 123, "LogoutURLs": [ "string" ], "PreventUserExistenceErrors": "string", "ReadAttributes": [ "string" ], "RefreshTokenValidity": 456, "SupportedIdentityProviders": [ "string" ], "TokenValidityUnits": { "AccessToken": "string", "IdToken": "string", "RefreshToken": "string" }, "UserPoolId": "string", "WriteAttributes": [ "string" ], "EnableTokenRevocation": true }

Révocation d'un jeton

Vous pouvez révoquer un jeton d'actualisation à l'aide de l'opération de l'API RevokeToken. Vous pouvez également utiliser la commande CLI aws cognito-idp revoke-token pour révoquer des jetons. Enfin, vous pouvez révoquer des jetons en utilisant le 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

Pour révoquer un jeton d'actualisation, vous devez utiliser le même identifiant client que celui qui a été utilisé pour obtenir le jeton.