AWS 技術情報

【AWS】CognitoのFORCE_CHANGE_PASSWORDをCONFIRMEDに変える方法

cognito・ユーザーのステータス

こんにちは、shimashima(しましま)です。

本日は短めですが、AWSのCognitoの設定をしていたのですが、追加したユーザーのステータスを「FORCE_CHANGE_PASSWORD」から「CONFIRMED」に変えるのに、どハマリしたので、備忘録的に記事にしてみたいと思います。

Cognitoって、ユーザーの作成は簡単なんですよね。

cognitoでユーザー作成

こんな感じで、すぐ作成できるので。

じゃあ、このユーザーをすぐに使おうと思ったら、そうは問屋がおろしてくれません。

cognito・ユーザーのステータス

しましま
アカウントのステータスが「FORCE_CHANGE_PASSWORD」のままじゃ、使えないんですよぉ。

じゃあ、ステータスをすぐに変更できるかといったら、管理画面からもできないし、登録した時に飛んでくるメールにも何も書いていない。

しましま
いやー、こういうところが不親切。

 

ステータスを変える方法を探してみたら、とりあえず「AWS CLI」っていう対話ツール的なものを使うのが一番だと。

AWS CLI」については割愛します。

しましま
自分Windows環境なんですけど、WindowsでAWS CLIの情報って少なくないですか?

とりあえず、「AWS CLI」で出来るって言うので、しこしこと進めていきます。

しましま
最初は初期設定して無いからダメよ、みたいなエラーが出たりして、苦戦しましたが、なんとか。

で、ここからステータスを「FORCE_CHANGE_PASSWORD」⇒「CONFIRMED」に変える方法。

ネットで調べると、よくこんなコマンドに出くわしました。

ステータスを変更するコマンド

aws cognito-idp admin-initiate-auth \
--user-pool-id <ユーザープールID> \
--client-id <アプリクライアントID> \
--auth-flow ADMIN_NO_SRP_AUTH \
--auth-parameters USERNAME=<ステータスを変えるユーザーID>,PASSWORD=<ステータスを変えるユーザーのパスワード>

これで、実行。

しましま
エラーになるよ。。。

なんだかCognitoの設定で「ADMIN_NO_SRP_AUTH」にチェックを入れろだろ色々あったけど、そんな設定項目ないし。

試行錯誤の上、できたコマンドはこちらです。

ちゃんと通ったコマンド

aws cognito-idp admin-set-user-password \
--user-pool-id <ユーザープールID> \
--username <ステータスを変えるユーザーID> \
--password '<ステータスを変えるユーザーのパスワード>' \
--permanent

しましま
あら、不思議。

Congnitoのステータス変更

 

コマンドで使用する項目の補足です。

ユーザープールID

しましま
ユーザープールIDは、全般設定で出てくる「プールID」です。

アプリクライアントID

しましま
使わなかったですけど、アプリクライアントIDは、アプリクライアントで出てくる「アプリクライアントID」です。

あとは、作成したユーザーのIDとパスワードだけです。

ステータスを変えるだけなのに、長かった!

-AWS, 技術情報

© 2021 shimashima.com