Open1

Cognito User Pool のサインインオプション設定について整理したい

noid11noid11

https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases

  • ユーザー名を Sign In に使う
    • エイリアスとして、 email or phone_number or preferred_username を使える
      • email or phone_number をエイリアスとして使うためには、検証済みである必要がある
      • preferred_username をエイリアスとして使うためには、アカウントが Confirm されている必要がある
      • これらは 1つ を選択ではなく、複数選択することが可能
        • 例えば Sign In に username と email と preferred_username を使えるようにするとか
    • username は、そのままユーザー名となる
      • username は User Pool 内で一意である必要がある
      • username は後から変更することはできない
      • エイリアスとして使う属性と同じ username は使用できない?
        • エイリアスとして許可している属性と同じフォーマットの username が使用できないだけかも
    • User Pool 側で email or phone_number の重複確認は行われない
  • email or phone_number を Sign In に使う
    • username は uuid が割り当てられる
    • email or phone_number を変更した場合、変更後の属性を使って認証する
    • User Pool 側で email or phone_number の重複確認が行われる
    • もし間違った email に変更してしまったら?
      • email は検証済みでなくても Sign In できるので、パスワードを覚えておけばセーフ
  • アプリケーションで表示するユーザー名は変更できるようにしたい場合は?
    • preferred_username を使う