是否可以撤销AWS Cognito IdToken?

kmn*_*wak 7 javascript token amazon-web-services amazon-cognito aws-api-gateway

是否有可能AWS Cognito IdToken在用户身份验证后撤销获取username并且password

在我的用例中,对API Gateway端点的访问受到限制,Cognito User Pool Authorizer其中IdToken作为参数request.headers.Authorizer.我正在寻找阻止当前用户的方法IdToken.

In AWSJavaScriptSDK是一个globalSignOut({AccessToken})撤销以下内容的函数accessToken:http: //docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#globalSignOut-property

是否可以撤销IdToken相同或类似的方式?

感兴趣的是:我创建了一个问题aws-sdk-js:https: //github.com/aws/aws-sdk-js/issues/1687

Ion*_*ian 7

你是对的。globalSignOut调用将吊销ID令牌以外的所有令牌。id令牌是承载令牌,通常与用户池外部的服务一起使用。我是Cognito团队的一员,我们的日历上确实有一个集成路线图,可以让使用ID令牌的服务进行检查,以查看那些ID令牌是否有效并且不接受无效的令牌。

  • @Ionut 既然您在 Cognito 团队中,那么撤销“访问令牌”有什么影响?即使在它被撤销后,API Gateway 也不会拒绝它。 (2认同)

kmn*_*wak 5

正如@ AllanFly120在提到的主题中写道:

由于IdToken是用JSON Web密钥令牌表示的,因此它是用私钥或私钥/公钥对签名的,这意味着即使您撤消了IdToken,也无法撤消分布式公钥。而且IdToken的寿命很短,它将在很短的时间内过期。

它解决了我的疑虑。

  • @Annjawn 那不正确。“ID Token”总是在生成后 60 分钟过期。这是 Cognito 中的硬性限制,无法更改。https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html#limits-hard 您可以在此处粘贴您的令牌以查看以毫秒为单位的到期时间 https://jwt.io/ (2认同)
  • @ET 是的,确实如此。如前所述,无法撤销它,因此为了立即调用,需要另一种授权方法 (2认同)