ユーザー認証後に取得した_AWS Cognito IdToken
_をusername
とpassword
で取り消すことはできますか?
私のユースケースでは、_API Gateway
_エンドポイントへのアクセスは、_Cognito User Pool Authorizer
_の引数としてIdToken
を受け取る_request.headers.Authorizer
_によって制限されています。現在のユーザーのIdToken
をブロックする方法を探しています。
AWSJavaScriptSDK
には、accessToken
を取り消す関数globalSignOut({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
@ AllanFly12と記載されている topic :
IdTokenはJSON Web Key Tokenとして表されるため、秘密鍵または秘密鍵/公開鍵のペアで署名されます。これはIdTokenを取り消しても、配布された公開鍵を取り消す方法はありませんです。 IdTokenの有効期間は短く、短時間で有効期限が切れます。
それは私の疑問を解決しました。
あなたは正しいです。 globalSignOut呼び出しは、idトークンを除くすべてのトークンを取り消します。 idトークンは、ユーザープール外のサービスで一般的に使用されるベアラートークンです。私はCognitoチームに所属しています。IDトークンを使用するサービスに、それらのIDトークンが有効で無効なトークンを受け入れないかどうかを確認するための統合ロードマップがカレンダーにあります。
GlobalSignOut
およびAdminUserGlobalSignOut
APIは、ユーザーのすべてのトークンを取り消します。
ユーザーのすべてのトークンの取り消し を参照してください。
そうではない。アプリケーションのセキュリティを真剣に考えている場合、最低限の有効期間は60分ですが、それが記載されているドキュメントがあっても受け入れられません。
AWS Cognitoの欠陥について説明した記事を次に示します。 AWS Cognitoを認証システムとして使用する前に知っておくべき3つのこと