API网关何时验证已撤销的Cognito ID令牌

use*_*092 5 amazon-cognito aws-api-gateway

我正在构建一个无服务器的反应应用程序,它使用Cognito进行登录/注销.该应用程序调用API网关,该网关配置为使用Cognito用户池作为自定义授权程序.

我还构建了一个lambda函数来签出user(cognitoIdentityServiceProvider.globalSignOut).

当我登录应用程序,然后调用lambda函数执行管理员注销时,从应用程序调用受保护的API网关功能仍然有效(在Authorization头文件中传递了Cognito ID令牌);

是admin调用,如cognitoIdentityServiceProvider.globalSignOutcognitoIdentityServiceProvider.adminUserGlobalSignOut不实时,或者API网关配置为一小时后,只确认?

use*_*092 5

刚刚找到答案,不幸的是这不是我想听到的:

由于 IdToken 表示为 JSON Web 密钥令牌,因此它是使用秘密或私钥/公钥对进行签名的,这意味着即使您撤销 IdToken,也无法撤销分发的公钥。而且IdToken的寿命很短,很快就会过期。

是否可以撤销 AWS Cognito IdToken?

https://github.com/aws/aws-sdk-js/issues/1687

https://github.com/aws/amazon-cognito-identity-js/issues/21