ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

Amazon Cognitoへユーザー登録!

f:id:kkb1016:20201211233642p:plain

こんばんわ、コバケンです。
リモートワークも9ヶ月目に突入し、あっという間に今年も終わりです。
最近では Amazon Music で上戸彩さんを聞いてお家でワイワイやっていますw

本記事は、ForgeVision Advent Calendar 11日目の記事です♪

皆さん、Cognito にユーザーを登録する際 GUI 、 CLI を利用して登録されると思います。 しかし、登録の際に必ず、アカウントのステータスを変更やメールの存在確認をする必要があり、毎回面倒ですwww
今回は、簡単にユーザー登録を行う方法をご紹介します。
むしろそれしか紹介しないですw

Cognito ユーザー登録ちょっと手間だな。。

  • Cognito へユーザーを登録するとメールが通知されてしまう。
  • メール通知されるため、存在しているメールアドレスを使わないと行けない。
  • メール認証、SMS認証が必要!!
  • ユーザーのアカウントステータス(UNCONFIRMED の呪縛 sign-upの場合)の変更(今回もこの呪縛からは逃れられないw)

2ステップでユーザー登録

  • ユーザー登録(一発でメール承認しちゃいます)
aws cognito-idp admin-create-user \
--user-pool-id <ユーザプールID> \
--username <メールアドレス> \
--user-attributes Name=email,Value=<メールアドレス> Name=email_verified,Value=true \
--message-action SUPPRESS
  • 実行結果
{
  "User": {
    "Username": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "Attributes": [
      {
        "Name": "sub",
        "Value": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      },
      {
        "Name": "email_verified",
        "Value": "true"
      },
      {
        "Name": "email",
        "Value": "xxxxxxxxxxxxx@xxxxxxxxxxx.com"
      }
    ],
    "UserCreateDate": "2020-12-11T22:44:03.789000+09:00",
    "UserLastModifiedDate": "2020-12-11T22:44:03.789000+09:00",
    "Enabled": true,
    "UserStatus": "FORCE_CHANGE_PASSWORD"
  }
}
  • FORCE_CHANGE_PASSWORD の呪縛

f:id:kkb1016:20201211225050p:plain
呪縛

  • FORCE_CHANGE_PASSWORD の呪縛からのパスワード変更
aws cognito-idp admin-set-user-password \
--user-pool-id <ユーザプールID> \
--username <メールアドレス> \
--password '<パスワード>' \
--permanent
  • 登録完了!

f:id:kkb1016:20201211231418p:plain
呪縛からの解除

おわり

2ステップで Cognito へユーザー登録する方法をご紹介いたしました。
ほんと、認証メール飛ばないの楽ですわー。
CLIを羅列させておけば、ユーザーの一括登録も簡単にできます♪

まだ、Cognito ネタはあると思うので、気が向けば書きますね。(これ書かないやつw)