Amazon Cognito ユーザープールで無効化したユーザーにアクセストークンが発行されるかどうかを教えてください
困っていた内容
Amazon Cognito ユーザープールでのユーザー管理を検討しています。
セキュリティ対策の観点から、ユーザーを無効化した場合にアクセストークンが発行されるかどうかを確認したいです。
Amazon Cognito ユーザープールで無効化したユーザーにアクセストークンが発行されるかどうかを教えてください。
どう対応すればいいの?
無効化されたユーザーに対するアクセストークン発行リクエストでは「User is disabled」のエラーが発生し、アクセストークンは発行されません。
やってみた
上記ブログの手順でユーザープールおよび ID プールを作成して試してみました。
ユーザープールの作成から ID プールの作成までは上記ブログの手順通りです。
ID プールの作成後、まずはユーザーがアクティブな状態で admin-initiate-auth コマンドを実行します。
ユーザーがアクティブなためアクセストークンを取得できている点は想定通りです。
$ aws cognito-idp admin-initiate-auth \
--user-pool-id {ユーザープール ID} \
--client-id {クライアント ID} \
--auth-flow "ADMIN_USER_PASSWORD_AUTH" \
--auth-parameters USERNAME={メールアドレス},PASSWORD={パスワード}
{
"ChallengeParameters": {},
"AuthenticationResult": {
"AccessToken": "xxx",
"ExpiresIn": 3600,
"TokenType": "Bearer",
"RefreshToken": "xxx",
"IdToken": "xxx"
}
}
続いてユーザープールのコンソールからユーザーを無効化します。


アカウントのステータスが無効になったことを確認します。

この状態で再度 admin-initiate-auth コマンドを実行しても「User is disabled」のエラーが発生し、アクセストークンが発行されないことを確認できました。
$ aws cognito-idp admin-initiate-auth \
--user-pool-id {ユーザープール ID} \
--client-id {クライアント ID} \
--auth-flow "ADMIN_USER_PASSWORD_AUTH" \
--auth-parameters USERNAME={メールアドレス},PASSWORD={パスワード}
An error occurred (NotAuthorizedException) when calling the AdminInitiateAuth operation: User is disabled.







