Amazon Cognito
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

以管理员身份创建用户账户

创建用户池之后,您可以使用 AWS 管理控制台以及 AWS Command Line Interface或 Amazon Cognito API 来创建用户。您可以为用户池中的新用户创建配置文件,并通过 SMS 或电子邮件向用户发送带有注册说明的欢迎消息。

开发人员和管理员可以执行以下任务:

  • 通过使用 AWS 管理控制台或调用 AdminCreateUser API 来创建新的用户配置文件。

  • 指定临时密码或允许 Amazon Cognito 自动生成一个密码。

  • 指定是否将提供的电子邮件地址和电话号码标记已针对新用户进行验证。

  • 通过 AWS 管理控制台或自定义消息 Lambda 触发器为新用户指定自定义 SMS 和电子邮件邀请消息。有关更多信息,请参阅 使用 Lambda 触发器自定义用户池工作流

  • 指定是否通过 SMS、电子邮件或两者发送邀请消息。

  • 通过调用 AdminCreateUser API,并为 MessageAction 参数指定 RESEND,向现有用户重新发送欢迎消息。

    注意

    目前,无法使用 AWS 管理控制台执行此操作。

  • 创建用户时禁止发送邀请消息。

  • 为用户账户指定到期时间限制 (最多 90 天)。

  • 允许用户自行注册或要求只能由管理员添加新用户。

有关代码示例,请参阅以下主题:

针对由管理员或开发人员创建的用户的身份验证流程

针对这些用户的身份验证流程包括提交新密码并提供必须属性的任何缺失值的额外步骤。下面列出了相关步骤;步骤 5、6 和 7 特定于这些用户。

  1. 用户首次通过提交向其提供的用户名称和密码开始登录。

  2. 开发工具包调用 InitiateAuth(Username, USER_SRP_AUTH)

  3. Amazon Cognito 通过加密盐和私有密钥块返回 PASSWORD_VERIFIER 质询。

  4. 开发工具包执行 SRP 计算并调用 RespondToAuthChallenge(Username, <SRP variables>, PASSWORD_VERIFIER)

  5. Amazon Cognito 返回 NEW_PASSWORD_REQUIRED 质询以及当前属性和必需属性。

  6. 系统提示用户输入新密码和必需属性的任何缺失值。

  7. 开发工具包调用 RespondToAuthChallenge(Username, <New password>, <User attributes>)

  8. 如果用户需要 MFA 的第二安全要素,则 Amazon Cognito 将返回 SMS_MFA 质询并提交代码。

  9. 用户成功更改自己的密码并选择性地提供属性值或完成 MFA 之后,用户将登录,并且系统将发出令牌。

用户满足所有质询后,Amazon Cognito 服务会将用户标记为已确认,并为用户发出 ID、访问和刷新令牌。有关更多信息,请参阅 将令牌与用户池结合使用

在 AWS 管理控制台中创建新用户

用于管理用户池的 Amazon Cognito 控制台已进行更新以支持此功能,如以下所示。

Policies 选项卡

Policies 选项卡包含以下相关设置:

  • 指定是否允许用户自己注册。已默认设置此选项。

    指定是否允许用户自行注册。已默认选定此选项。
  • 为新账户指定用户账户到期时间限制 (以天为单位)。从用户账户的创建时间开始计算,默认设置为 7 天。最大设置为 90 天。账户到期后,用户将无法登录账户,直至管理员更新用户配置文件。

    注意

    用户登录后,账户将永不过期。

    指定用户账户到期时间限制 (以天为单位)。默认设置为 10 天。

Message Customizations 选项卡

Message Customizations 选项卡包含用于指定自定义电子邮件验证消息和自定义用户邀请消息的模板。

对于电子邮件 (验证消息或用户邀请消息),消息的最大长度为 2048 个 UTF-8 字符,包括验证代码或临时密码。对于 SMS,最大长度为 140 个 UTF-8 字符,包括验证代码或临时密码。

验证代码的有效期为 24 小时。

自定义向新用户发送的邀请消息。

Users 选项卡

Users and groups 选项卡中的 Users 选项卡具有一个 Create user 按钮。

在“Users”选项卡中创建新用户。

选择 Create user 后,将会显示一个 Create user 表单,在此可以输入关于新用户的信息。仅 Username 字段为必填字段。

注意

对于您在 AWS 管理控制台中使用 Create user 表单创建的用户账户,只能在 AWS 管理控制台中设置表单中显示的属性。其他属性必须使用 AWS Command Line Interface或 Amazon Cognito API 进行设置,即使您已将它们标记为必需属性。

在“Users”选项卡中创建用户表单。