我想在 Amazon Cognito 中确认一个用户账户。
解决方法
在 Amazon Cognito 中确认用户账户有两种方法:
这两个选项都会将用户状态设置为 CONFIRMED(已确认)。
电子邮件或电话号码验证
配置您的 Amazon Cognito 用户群体,要求用户在注册时提供电子邮件地址或电话号码。然后,Amazon Cognito 会向该电子邮件地址或电话号码发送验证码以确认用户账户。
通过提供验证码,用户证明他们有权访问收到验证码的邮箱或电话。用户提供代码后,Amazon Cognito 会执行以下操作:
- 将用户状态设置为 CONFIRMED(已确认)。
- 更新用户属性以指示电子邮件地址或电话号码已通过验证。
有关如何选择 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"
输出
{
"UserConfirmed": false,
"UserSub": "e04d60a6-45dc-441c-a40b-e25a787d4862"
}
确认注册
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 控制台。
- 从导航窗格中选择 User Pools(用户群体),然后选择您的用户群体。
- 选择 Users(用户)选项卡,然后选择要确认的用户。
- 在用户信息页面中,选择 Actions(操作),然后选择 Confirm Account(确认账户)。
使用 AWS CLI 命令:
aws cognito-idp admin-confirm-sign-up --user-pool-id us-west-2_aaaaaaaaa --username testuser