是否可以撤销AWS Cognito IdToken?

时间:2017-08-07 10:53:48

标签: javascript amazon-web-services token aws-api-gateway amazon-cognito

使用AWS Cognito IdTokenusername进行用户身份验证后,是否可以撤销password

在我的用例中,API Gateway端点的访问权限受Cognito User Pool Authorizer限制,IdTokenrequest.headers.Authorizer作为IdToken中的参数。我正在寻找阻止当前用户AWSJavaScriptSDK

的方法

globalSignOut({AccessToken})中有一个函数accessToken撤消IdTokenhttp://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#globalSignOut-property

是否可以以相同或相似的方式撤销aws-sdk-js

感兴趣:我在text-center上创建了一个问题: https://github.com/aws/aws-sdk-js/issues/1687

4 个答案:

答案 0 :(得分:3)

你是对的。 globalSignOut调用将撤消除id标记之外的所有标记。 id令牌是一种承载令牌,通常与用户池之外的服务一起使用。我在Cognito团队中,我们在日历上确实有一个集成路线图,以便让使用id令牌的服务检查以查看这些id令牌是否有效而不接受无效令牌。

答案 1 :(得分:2)

@AllanFly120 在提到的topic中写道:

  

因为IdToken表示为JSON Web Key Token,所以它已签名   使用秘密或私人/公钥对,即使你是   撤销IdToken,没有办法撤销分布式公共   键即可。而IdToken的寿命很短,它将在短期内到期   时间。

它解决了我的疑虑。

答案 2 :(得分:1)

AUTO_UPDATE_STATISTICS_ASYNCGlobalSignOut API撤消用户的所有令牌。

  • 用户的刷新令牌不能用于获取新的令牌 用户。
  • 用户访问令牌不能用于用户池 服务。
  • 用户必须重新进行身份验证以获取新令牌。

请参阅Revoking All Tokens for a User

答案 3 :(得分:0)

不是。即使有文档说明,但如果您真的认真对待应用程序的安全性,那么至少60分钟的到期时间也是不可接受的。

此处是描述一些AWS Cognito缺陷的文章:3 things you should know before using AWS Cognito as authenticator