Amazon Cognito が ForgotPassword API で検証コード E メールまたは SMS テキストメッセージを送信しないのはなぜですか?

所要時間2分
0

Amazon Cognito が ForgotPassword API コールの検証コード E メールまたは SMS テキストメッセージを送信しませんでした。

解決方法

以下のベストプラクティスに従って、Amazon Cognito ユーザープール設定のトラブルシューティングを行ってください。

迷惑メールフォルダを確認する

検証 E メールがユーザーの迷惑メールフォルダに届いていないことを確認します。

そのユーザーがユーザープールに存在することを確認する

そのユーザーが Amazon Cognito ユーザープールに存在することを確認します。Amazon Cognito コンソールを使用してユーザープール内のユーザーを検索するには、「 ユーザーアカウントの管理と検索」を参照してください。

  • または -

AdminGetUser API を使用して、ユーザープール内のユーザーを検索します。

ユーザーのステータスが CONFIRMED になっていない

管理者によって作成されたユーザーは、指定されたパスワードでサインインするまで、デフォルトで FORCE_CHANGE_PASSWORD ステータスになります。その後、パスワードの変更を求めるプロンプトが表示されます。

ユーザーステータスが FORCE_CHANGE_PASSWORD の場合、ForgotPassword API コールは使用できず、検証コードは送信されません。

ユーザーがアカウントを復元できる方法を確認する

アカウントを復元するために、ユーザーアカウントがどのように設定されているかを確認します。例えば、E メール、電話、E メールのみ、電話のみ、電話がある場合は電話、なしなどです。

1.    Amazon Cognito コンソールを開いて、[manage user pools] (ユーザープールの管理) を選択し、次にユーザープールを選択します。

2.    [全般設定] で [MFA と検証] を選択します。

3.    ユーザーはどのようにしてアカウントを復元できますかセクションで、復元方法の選択に注意してください。

CONFIRMED ステータスのユーザは、パスワード回復のために E メールまたは電話での検証を受けていない可能性があります。管理者が作成したユーザーアカウントは、[Verification] チェックボックスを使用してアカウントを作成するときに検証する必要があります。管理者は、API コール AdminUpdateUserAttributes を使用して、以下のように電話と E メールを検証済みとしてマークすることもできます。

E メール検証済み

aws cognito-idp admin-update-user-attributes --user-pool-id <userpool
 id> --username <user name> --user-attributes 
Name=email_verified,Value=true --region <region name>

電話番号検証済み

aws cognito-idp admin-update-user-attributes --user-pool-id <userpool
 id> --username <user name> --user-attributes 
Name=phone_number_verified,Value=true --region <region name>

Amazon SNS クォータ制限を確認する

Amazon Cognito は Amazon Simple Notification Service (Amazon SNS) を使用して、SMS テキストメッセージを配信します。アカウントのデフォルトの Amazon SNS 支出クォータは、1 か月あたり 1.00 USD です。アカウントの支出制限を確認または変更するには、「AWS マネジメントコンソールを使用した SMS メッセージング基本設定の設定」を参照してください。

**重要:**AWS マネジメントコンソールで設定したアカウント支出制限がサービスクォータを超えると、Amazon SNS は SMS メッセージの発行を停止します。

クォータの引き上げについては、「Amazon SNS の月間 SMS 支出クォータの引き上げをリクエストする」を参照してください。

Amazon SES の制限を確認する

Amazon Cognito は、Amazon Simple Email Service (Amazon SES) を使用して E メールを配信します。デフォルトでは、Amazon Cognito はユーザープールに対して 1 日当たりで制限された E メール数を許可します。詳細については、「Amazon Cognito ユーザープールのリソースクォータ」を参照してください。

Amazon SES の E メール設定を使用するようにユーザープールを設定することで、E メールの配信量を増やすことができます。手順については、Amazon Cognito ユーザープールの E メール設定を参照してください。

AdminSetUserPassword API を使用してユーザーパスワードをリセットする

管理者は、AdminSetUserPassword API を使用して、Amazon Cognito ユーザープール内のユーザーのパスワードを一時的または永続的に設定できます。一時パスワードを持つユーザーは、有効期限が切れる前にサインインして変更する必要があります。ユーザーが一時パスワードをリセットした後、またはパスワードが永続的である場合、ステータスは CONFIRMED に設定されます。


関連情報

SMS 配信失敗の理由

admin-get-user

AdminResetUserPassword

AWS公式
AWS公式更新しました 2年前
コメントはありません