Amazon Cognito でユーザーアカウントを確認したいと考えています。
解決方法
Amazon Cognito でユーザーアカウントを確認するには、次の 2 つの方法があります。
- E メールアドレスまたは電話番号の確認を通じて
- 管理者を通じて
これらのオプションは両方とも、ユーザーステータスを CONFIRMED に設定します。
E メールアドレスまたは電話番号の検証
ユーザーがサインアップするときに E メールアドレスまたは電話番号の入力を要求するように Amazon Cognito ユーザープールを設定します。次に、Amazon Cognito はユーザーアカウントを確認するために、その E メールアドレスまたは電話番号に検証コードを送信します。
検証コードを入力することで、ユーザーはコードを受け取ったメールボックスまたは電話にアクセスできることを証明します。ユーザーがコードを入力すると、Amazon Cognito は次の処理を行います。
- ユーザーステータスを CONFIRMED に設定します。
- E メールアドレスまたは電話番号が検証されたことを示すように、ユーザー属性を更新します。
Amazon Cognito が検証メッセージを送信するユーザー連絡先属性を選択する方法については、「サインアップ時の連絡先情報の検証」を参照してください。
注: AWS コマンドラインインターフェイス (AWS CLI) のコマンド実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
AWS CLI コマンド:
Signup
aws cognito-idp sign-up --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username testuser --password PASSWORD --user-attributes Name="email",Value="jane@example.com" Name="name",Value="Jane"
Output
{
"UserConfirmed": false,
"UserSub": "e04d60a6-45dc-441c-a40b-e25a787d4862"
}
Confirm signup
aws cognito-idp confirm-sign-up --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username testuser --confirmation-code CONF_CODE
注: 次の要件の両方を満たす場合は、CLI コマンドで --secret-hash を渡す必要があります。
- AWS CLI コマンドに --client-id がパラメータとして含まれている。
- アプリケーションクライアントはシークレットで設定されている。
アプリケーションクライアントのシークレットハッシュを計算するには、「[Amazon Cognito ユーザープール API で発生する「クライアント
のシークレットハッシュを確認できません」エラーをトラブルシューティングする方法を教えてください]() 」を参照してください。
管理者検証
管理者検証を通じてユーザーアカウントを確認するには、Amazon Cognito コンソールを使用するか、AWS CLI API コマンドを使用します。
Amazon Cognito コンソールを使用して、以下のとおり操作します。
- Amazon Cognito コンソールを開きます。
- ナビゲーションペインから [ユーザープール] を選択し、ユーザープールを選択します。
- [ユーザー] タブを選択し、確認するユーザーを選択します。
- ユーザー情報ページで、[アクション] を選択してから、[アカウントの確認] を選択します。
AWS CLI のコマンドを使用して、以下のとおり操作します。
aws cognito-idp admin-confirm-sign-up --user-pool-id us-west-2_aaaaaaaaa --username testuser