Cognito にユーザーを追加する際、ユーザー名にメールアドレスが使用できないのはなぜですか

エイリアスとして E メールアドレスを選択した場合、ユーザー名にメールアドレスの形式の文字列を使用することはできません。
2024.03.19

困っていること

Cognito ユーザープールにユーザーを追加する際、ユーザー名をメールアドレスの形式にしたところエラーが発生しました。

ユーザー名にメールアドレスを使用する方法はありますか?

どう対応すればいいの?

エイリアスとして E メールアドレスを選択した場合、ユーザー名にメールアドレスの形式の文字列を使用することはできません

Cognito ユーザープールには、電話番号・E メールアドレスをエイリアス属性として設定する機能があります。電話番号・E メールアドレスをエイリアス属性として設定した場合、ユーザー名の代わりとして設定したユーザー属性でログインが可能となります。

この際、 E メールアドレスをエイリアス属性と設定した場合は有効なメールアドレス形式の文字列を、電話番号をエイリアス属性として設定した場合は有効な電話番号形式の文字列をユーザー名として使用できなくなります

ユーザープール属性 - Amazon Cognito

エイリアスとして E メールアドレスを選択した場合、Amazon Cognito は有効な E メールアドレス形式と一致するユーザー名を受け入れません。同様に、電話番号をエイリアスとして選択した場合、Amazon Cognito は、有効な電話番号形式に一致するユーザープールのユーザー名を受け入れません。

現在ユーザープールに設定されているエイリアス属性は Cognito コンソール画面の「サインインエクスペリエンス > Cognito ユーザープールのサインイン > Cognito ユーザープールのサインインオプション」から確認が可能です。

以下の画像の場合、「E メールアドレス」がエイリアス属性として設定されている状態となっています。

なお、エイリアス属性の設定はユーザープールの作成後変更することができません

ユーザープール作成後、ユーザー名としてエイリアス属性を設定した属性と同じ形式の文字列を使用したい場合、ユーザープールの再作成が必要となるため十分にご検討の上ユーザープールを作成いただくようご注意ください。

参考資料

ユーザープール属性 - Amazon Cognito