こんにちは、shimashima(しましま)です。
本日は短めですが、AWSのCognitoの設定をしていたのですが、追加したユーザーのステータスを「FORCE_CHANGE_PASSWORD」から「CONFIRMED」に変えるのに、どハマリしたので、備忘録的に記事にしてみたいと思います。
Cognitoって、ユーザーの作成は簡単なんですよね。
こんな感じで、すぐ作成できるので。
じゃあ、このユーザーをすぐに使おうと思ったら、そうは問屋がおろしてくれません。
じゃあ、ステータスをすぐに変更できるかといったら、管理画面からもできないし、登録した時に飛んでくるメールにも何も書いていない。
ステータスを変える方法を探してみたら、とりあえず「AWS CLI」っていう対話ツール的なものを使うのが一番だと。
「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
コマンドで使用する項目の補足です。
あとは、作成したユーザーのIDとパスワードだけです。
ステータスを変えるだけなのに、長かった!