如何在 Amazon Cognito 中确认用户账户?

1 分钟阅读
0

我想在 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 中的“无法验证客户端

的密钥哈希”错误?](https://repost.aws/zh-Hans/knowledge-center/cognito-unable-to-verify-secret-hash)

管理员验证

要通过管理员验证确认用户账户,请使用 Amazon Cognito 控制台或使用 AWS CLI API 命令。

使用 Amazon Cognito 控制台:

  1. 打开 Amazon Cognito 控制台
  2. 从导航窗格中选择 User Pools(用户群体),然后选择您的用户群体。
  3. 选择 Users(用户)选项卡,然后选择要确认的用户。
  4. 在用户信息页面中,选择 Actions(操作),然后选择 Confirm Account(确认账户)。

使用 AWS CLI 命令:

aws cognito-idp admin-confirm-sign-up --user-pool-id us-west-2_aaaaaaaaa --username testuser

AWS 官方
AWS 官方已更新 1 年前