RevokingTokens - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

RevokingTokens

您可以撤销用户的刷新令牌使用AmazonAPI。撤消刷新令牌时,先前由该刷新令牌颁发的所有访问令牌都将无效。向用户颁发的其他刷新令牌不受影响。

注意

JWT 令牌是独立的,具有在创建令牌时分配的签名和过期时间。撤销的令牌不能与任何需要令牌的 Cognito API 调用一起使用。但是,如果使用任何验证令牌签名和过期的 JWT 库进行验证,吊销令牌仍然有效。

您可以在启用令牌吊销的情况下撤消用户池客户端的刷新令牌。当您创建新的用户池客户端时,默认情况下会启用令牌撤消。

启用令牌吊销

必须启用令牌吊销,然后才能撤消现有用户池客户端的令牌。您可以使用Amazon CLI或AmazonAPI。若要执行此操作,请调用aws cognito update-user-pool-clientCLI 命令或UpdateUserPoolClientAPI 操作。当您执行此操作时,将EnableTokenRevocation将参数设为true

使用创建新用户池客户端时Amazon Web Services Management Console,Amazon CLI,或AmazonAPI,默认情况下,将启用令牌撤销。

启用令牌撤销后,Amazon Cognito JSON 网络令牌中会添加新的声明。这些区域有:origin_jtijti声明添加到访问和 ID 令牌中。这些声明会增加应用程序客户端访问和 ID 令牌的大小。

以下JSON 示例显示启用令牌的请求使用撤销CreateUserpoolCientAPI。

{ "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 }

Revoke 令牌

您可以撤销刷新令牌使用 RevokeToken API操作。您也可以使用aws cognito-idp revoke-token CLI 命令撤销令牌。You 也可以使用吊销终端节点。此终端节点为将域添加到您的用户池后,将可用。您可以在 Amazon Cognito 托管域或您自己的自定义域上使用吊销终端节点。

注意

刷新令牌必须使用用于获取令牌的相同客户端 ID 撤销。