Amazon Cognito のパスワードを忘れた場合のフローを使用するにはどうすればよいですか?

所要時間1分
0

Amazon Cognitoでユーザーがパスワードを変更できるように、パスワードを忘れた場合のフローを使用する必要があります。

解決方法

Amazon Cognito ユーザーは、ForgotPassword API を呼び出して、パスワードを忘れた場合のフローを開始してユーザーパスワードをリセットすることができます。

Amazon Cognito でユーザーのパスワードを変更するために、パスワードを忘れた場合のフローを設定するには、次の手順に従います。

1.    ForgotPassword API を呼び出して、ユーザーのパスワードのリセットに必要な確認コードを含むメッセージをユーザーに送信します。

重要: AWS コマンドラインインターフェイス (AWS CLI) コマンド例で、サンプル文字列のすべてのインスタンスを、ご自分の値に置き換えてください。(例えば、「example_client_id」を自分のクライアント ID に置き換えます。)

forgot-password コマンドの例:

aws cognito-idp forgot-password --client-id example_client_id --username example_user_name

出力:

{
  "CodeDeliveryDetails": {
    "Destination": "t***@g***",
    "DeliveryMedium": "EMAIL",
    "AttributeName": "email"
  }
}

確認コードメッセージは、ユーザーの確認済み E メールアドレスまたは確認済みの電話番号に送信されます。回復方法は、AccountRecoverySetting パラメータでカスタマイズできます。例の確認コードメッセージは、ユーザーの確認済み E メールアドレスに送信されます。構成はユースケースによって異なります。

**注:**ユーザーの確認済み電話番号も確認済みメールアドレスも存在しない場合は、InvalidParameterException エラーが発生します。E メールアドレスと電話番号の認証の設定について詳しくは、「E メールまたは電話による認証の設定」を参照してください。

2.    ConfirmForgotPassword API を呼び出して、ユーザーが確認コードを入力してパスワードをリセットできるようにします。

confirm-forgot-password コマンドの例:

aws cognito-idp confirm-forgot-password --client-id example_client_id --username=user@example.com --password example_password --confirmation-code example_confirmation_code

3.    必要に応じて、PreventUserExistenceErrorsEnabled に設定して、パスワード回復エラーレスポンスをカスタマイズしてください。詳細については、「エラーレスポンスの管理」を参照してください。

4.    アプリクライアントがユーザープールでクライアントシークレットを使用して構成されている場合は、シークレットハッシュを指定する必要があります。詳細については、「 Amazon Cognito ユーザープール API で発生する「クライアント <client-id> のシークレットハッシュを確認できません」エラーをトラブルシューティングする方法を教えてください。を参照してください。


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