向您的用户池添加更多功能和安全选项 - Amazon Cognito

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

向您的用户池添加更多功能和安全选项

按照教程完成示例应用程序后,可以扩大用户池实现的范围。或者,如果您没有创建测试应用程序,请根据自己的喜好创建一个新的用户池。您可以为其他应用程序自定义用户池功能,也可以添加外部身份提供商。在计划将 Amazon Cognito 用户池放入生产应用程序时,您可以评估其他示例和教程。

以下是 Amazon Cognito 用户池的一些其他功能:

有关 Amazon Cognito 身份验证和授权模型的概述,请参阅。身份验证如何与 Amazon Cognito 配合使用

要在成功进行用户池身份验证 AWS 服务 后访问其他,请参阅登录后 AWS 服务 使用身份池进行访问

除了使用 AWS Management Console 和用户池外SDKs,您还可以使用来管理您的用户池AWS Command Line Interface

创建新的用户池

以下步骤是在 Amazon Cognito 控制台中创建新用户池的通用指南。您也可以直接跳到控制台,按照引导式体验和内联帮助内容进行操作。

创建新用户池
  1. 转到 Amazon Cognito 控制台。如果出现提示,请输入您的 AWS 凭据。

  2. 选择 “创建用户池” 按钮。您可能需要从左侧导航窗格中选择 “用户池” 才能显示此选项。

  3. 在页面右上角,选择 Create a user pool(创建用户池)以开启用户池创建向导。

  4. 在 “配置登录体验” 中,您可以选择要用于此用户池的身份提供商 (IdPs)。有关更多信息,请参阅 通过第三方添加用户池登录

    1. 在 “身份验证提供程序” 下,对于提供者类型,请确保仅选择 Cognito 用户池

    2. 对于 Cognito 用户池登录选项,请选择用户名。不要选择任何其他用户名要求

    3. 将所有其他选项保留为默认值,然后选择 “下一步”。

  5. 配置安全要求中,您可以选择密码策略、多因素身份验证 (MFA) 要求和用户帐户恢复选项。有关更多信息,请参阅 使用 Amazon Cognito 用户池安全功能

    1. 对于密码策略,请确认密码策略模式已设置为 Cognito 默认值

    2. 多因素身份验证下,为MFA强制执行,选择可选MFA

    3. 对于MFA方法,请选择身份验证器应用程序SMS消息

    4. 恢复用户帐户,请确认已选中 “启用自助服务帐户恢复”,并将用户帐户恢复消息传送方式设置为 “仅限电子邮件”。

    5. 将所有其他选项保留为默认值,然后选择 “下一步”。

  6. “配置注册体验” 中,您可以确定新用户在注册为新用户时将如何验证其身份,以及在用户注册流程中哪些属性应为必填属性或可选属性。有关更多信息,请参阅 管理用户池中的用户

    1. 确认已选中 “启用自助注册”。此设置会打开您的用户池,让互联网上的任何人都可以注册。这是为示例应用程序而设计的,但在生产环境中应谨慎应用此设置。

    2. Cognito 辅助验证和确认下,确认已选中 “允许 Cognito 自动发送消息进行验证和确认” 复选框。

    3. 确认 “要验证的属性” 设置为 “发送电子邮件,验证电子邮件地址”。

    4. “验证属性更改” 下,确认已选择默认选项:选中 “待更新时保留原始属性值”,“待更新时处于活动状态” 属性值设置为 “电子邮件地址”。

    5. “必填属性” 下,确认基于先前选择的必填属性显示电子邮件

      重要

      对于此示例应用程序,您的用户池不得将 phone_number 设置为必填属性。如果 phone_n umber 显示为必填属性,请查看并更新您之前的选择:

      • 可选 MFA仅限电子邮件用于用户帐户恢复消息的传送方式

      • 发送电子邮件,验证要验证的属性的电子邮件地址

    6. 将所有其他选项保留为默认值,然后选择 “下一步”。

  7. “配置消息传送” 中,您可以配置与 Amazon 简单电子邮件服务和亚马逊简单通知服务的集成,向您的用户发送电子邮件和SMS消息,用于注册、账户确认和账户恢复。MFA有关更多信息,请参阅Amazon Cognito 用户池的电子邮件设置SMSAmazon Cognito 用户池的消息设置

    1. 对于电子邮件提供商,选择使用 Cognito 发送电子邮件,然后使用 Amazon Cognito 提供的默认电子邮件发件人。此低电子邮件量设置足以进行应用程序测试。在使用亚马逊简单电子邮件服务 (AmazonSES) 验证电子邮件地址并选择 “通过亚马逊发送电子邮件” 后,即可返回SES。

    2. 对于 SMS,选择创建新IAM角色并输入IAM角色名称。这将创建一个向 Amazon Cognito 授予发送SMS消息的权限的角色。

    3. 将所有其他选项保留为默认值,然后选择 “下一步”。

  8. 集成您的应用程序中,您可以命名用户池、配置托管用户界面和创建应用程序客户端。有关更多信息,请参阅 添加带有托管 UI 的应用程序客户端。示例应用程序不使用托管 UI。

    1. 用户池名称下,输入用户池名称

    2. 不要选择 “使用 Cognito 托管的用户界面”。

    3. 在 “初始应用程序客户端” 下,确认应用程序类型已设置为 “公共客户端”。

    4. 在 “客户密钥” 下,确认已选中 “不生成客户机密钥”。

    5. 输入应用程序客户端名称

    6. 展开高级应用程序客户端设置ALLOW_USER_PASSWORD_AUTH添加到身份验证流程列表中。

    7. 将所有其他选项保留为默认值,然后选择 “下一步”。

  9. 在 “查看并创建” 屏幕中查看您的选择,并根据需要修改任何选择。如果您对用户池配置感到满意,请选择创建用户池以继续。

  10. 用户池页面中,选择您的新用户池。

  11. 在 “用户池概述” 下,记下您的用户池 ID。创建示例应用程序时,您将提供此字符串。

  12. 选择 “应用程序集成” 选项卡,然后找到 “应用程序客户端和分析” 部分。选择您的新应用程序客户端。记下您的客户端 ID

创建用户池
  1. 转到 Amazon Cognito 控制台。如果出现提示,请输入您的 AWS 凭据。

  2. 选择 User Pools(用户池)。

  3. 在页面右上角,选择 Create a user pool(创建用户池)以开启用户池创建向导。

  4. Configure sign-in experience(配置登录体验)中,选择您将与此用户池一起使用的联合提供商。有关更多信息,请参阅 通过第三方添加用户池登录

  5. 配置安全要求中,选择您的密码策略、多因素身份验证 (MFA) 要求和用户帐户恢复选项。有关更多信息,请参阅 使用 Amazon Cognito 用户池安全功能

  6. Configure sign-up experience(配置注册体验)中,确定新用户在注册时如何验证其身份,以及在用户注册流程中应该要求哪些属性或可选属性。有关更多信息,请参阅 管理用户池中的用户

    重要

    如果您在用户群体中激活用户注册,则互联网上的任何人都可以注册账户并登录您的应用程序。除非您开放您的应用程序供公开注册,否则不要在用户群体中启用自助注册。要更改此设置,请在用户池控制台的 “注册体验” 选项卡中更新自助服务注册,或者更新或请求 AllowAdminCreateUserOnly中的值。 CreateUserPool UpdateUserPoolAPI

    有关可以在用户群体中设置的安全特征的信息,请参阅使用 Amazon Cognito 用户池安全功能

  7. “配置消息传送” 中,配置与 Amazon 简单电子邮件服务和亚马逊简单通知服务的集成,以便向您的用户发送电子邮件和SMS消息,用于注册、账户确认和账户恢复。MFA有关更多信息,请参阅Amazon Cognito 用户池的电子邮件设置SMSAmazon Cognito 用户池的消息设置

  8. Integrate your app(集成应用程序)中,命名用户池、配置托管 UI 并创建应用程序客户端。有关更多信息,请参阅 添加带有托管 UI 的应用程序客户端

  9. 在 “查看并创建” 屏幕中查看您的选择,并根据需要修改任何选择。如果您对用户池配置感到满意,请选择创建用户池以继续。

有关用户池的更多信息,请参阅Amazon Cognito 用户群体

另请参阅:用户池身份验证流程了解用户池 JSON Web 令牌 (JWTs)