使用AWS Cognito IdToken
和username
进行用户身份验证后,是否可以撤销password
?
在我的用例中,API Gateway
端点的访问权限受Cognito User Pool Authorizer
限制,IdToken
将request.headers.Authorizer
作为IdToken
中的参数。我正在寻找阻止当前用户AWSJavaScriptSDK
。
在globalSignOut({AccessToken})
中有一个函数accessToken
撤消IdToken
:
http://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
答案 0 :(得分:3)
你是对的。 globalSignOut调用将撤消除id标记之外的所有标记。 id令牌是一种承载令牌,通常与用户池之外的服务一起使用。我在Cognito团队中,我们在日历上确实有一个集成路线图,以便让使用id令牌的服务检查以查看这些id令牌是否有效而不接受无效令牌。
答案 1 :(得分:2)
@AllanFly120 在提到的topic中写道:
因为IdToken表示为JSON Web Key Token,所以它已签名 使用秘密或私人/公钥对,即使你是 撤销IdToken,没有办法撤销分布式公共 键即可。而IdToken的寿命很短,它将在短期内到期 时间。
它解决了我的疑虑。
答案 2 :(得分:1)
AUTO_UPDATE_STATISTICS_ASYNC
和GlobalSignOut
API撤消用户的所有令牌。
答案 3 :(得分:0)
不是。即使有文档说明,但如果您真的认真对待应用程序的安全性,那么至少60分钟的到期时间也是不可接受的。
此处是描述一些AWS Cognito缺陷的文章:3 things you should know before using AWS Cognito as authenticator