

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

# 在 Amazon Cognito 控制台中创建新的应用程序
<a name="getting-started-user-pools-application"></a>

用户池向软件应用程序添加身份验证选项。要获得最简单的入门体验，请进入 Amazon Cognito 控制台并按照那里的说明进行操作。那里的创建过程不仅可以引导您设置用户池资源，还可以引导您设置应用程序的初始部分。

准备好开始时，导航到 [Amazon Cognito 控制台](https://console.aws.amazon.com/cognito/v2/idp/user-pools)，然后选择按钮来创建新的用户池。设置过程将引导您完成配置和编程语言选项。

**身份验证概念的其他资源**
+ [使用 Amazon Cognito 用户池进行身份验证](authentication.md)
+ [了解 API、OIDC 和托管登录页面身份验证](authentication-flows-public-server-side.md#user-pools-API-operations)
+ [身份验证如何与 Amazon Cognito 配合使用](cognito-how-to-authenticate.md)
+ [将 Amazon Cognito 身份验证和授权与 Web 和移动应用程序集成](cognito-integrate-apps.md)

**为应用程序创建 Amazon Cognito 资源**

1. 导航到 [Amazon Cognito 控制台](https://console.aws.amazon.com/cognito/)。要向 IAM 主体分配权限，以便他们可以创建和管理 Amazon Cognito 资源，请参阅[AWS 亚马逊 Cognito 的托管策略](security-iam-awsmanpol.md)。`AmazonCognitoPowerUser` 策略已足以创建用户池。

1. 从**用户池**菜单选择**创建用户池**，或者选择**在不到五分钟的时间内免费入门**。

1. 在**定义您的应用程序**下，选择最适合您要为其创建身份验证和授权服务的**应用程序类型**。

1. 在**命名您的应用程序**中，输入描述性名称或继续使用默认名称。

1. 您必须在**配置选项**下做出一些基本选择，以支持您在创建用户池后无法更改的设置。

   1. 在**登录标识符的选项**下，告诉我们您希望在用户登录时如何标识他们。您可以首选用户生成的用户名、电子邮件地址或电话号码。您也可以允许组合使用多个选项。Amazon Cognito 接受您在[托管登录](cognito-user-pools-managed-login.md)表单的用户名字段中配置的选项。

   1. 在**注册的必要属性**下，告诉我们您要在用户注册新账户时收集哪些用户信息。在托管登录页面中，Amazon Cognito 会显示所有必要属性的提示。

      **登录标识符的选项**会影响您的所需属性。**用户名**要求为每个用户提供电子邮件或电话属性，以便他们可以在电子邮件或短信中接收密码重置代码。**电子邮件**要求提供电子邮件属性，**电话号码**要求提供电话号码属性。

1. 在**添加返回 URL** 下，输入用户完成身份验证后的应用程序重定向路径。此位置应该是您应用程序中的路由，使用 OpenID Connect（OIDC）库来处理用户身份验证结果。测试应用程序的示例返回 URL 是 `https://localhost:3000/callback`。在 Amazon Cognito 控制台的示例 NodeJS 应用程序中，此路由使用 [openid-client](https://www.npmjs.com/package/openid-client) 收集访问令牌并将其交换为用户信息。创建资源后，您将能够浏览开发平台示例。

1. 选择**创建应用程序**。Amazon Cognito 使用您的应用程序类型的默认设置创建用户池和应用程序客户端。创建初始资源后，您可以配置诸如[外部身份提供者](cognito-user-pools-identity-federation.md)和[多重身份验证（MFA）](user-pool-settings-mfa.md#user-pool-configuring-mfa)等其他选项。

1. 在**设置应用程序**页面上，您可以立即获取应用程序的代码示例。要浏览新用户池，请向下滚动并选择**转到概述**。

1. 要在同一个用户池中添加更多应用程序，请导航到**应用程序客户端**菜单并添加新应用程序客户端。这将重复执行以应用程序为中心的创建过程，但仅向现有用户池中添加新应用程序客户端。

使用此过程创建用户池和一个或多个应用程序客户端后，您可以开始使用托管登录测试身份验证操作。这些快速入门选项可供公众自行注册。建议您使用控制台流程创建测试环境，然后将最终设计移至生产环境。花点时间让自己熟悉 Amazon Cognito 的功能。然后，要转移到生产工作负载，请制作自定义配置，并使用自动化工具（如 AWS CloudFormation 和）进行部署 AWS Cloud Development Kit (AWS CDK)。

Amazon Cognito 在此过程中会进行一些您无法撤销的默认配置。有关您无法更改的用户池设置以及可以在控制台中选择的选项的更多信息，请参阅[更新用户池和应用程序客户端配置](cognito-user-pool-updating.md)。


| 设置 | 效果 | 如何更改 | 更多信息 | 
| --- | --- | --- | --- | 
| 客户端密钥 | 要求在身份验证请求中使用客户端密钥哈希。 | 使用传统 Web 应用程序或应用程序配置文件创建新的Machine-to-machine 应用程序客户端。 | [特定于应用程序的应用程序客户端设置](user-pool-settings-client-apps.md) | 
| 首选用户名 | 用户池不接受 preferred\$1username 属性作为别名。 | 使用 AWS SDK 以编程方式创建用户池。 | [自定义登录属性](user-pool-settings-attributes.md#user-pool-settings-aliases) | 
| 区分大小写 | 用户池用户名不区分大小写，例如 JohnD 被视为与 johnd 相同的用户。 | 使用 AWS SDK 以编程方式创建用户池。 | [用户池区分大小写](user-pool-case-sensitivity.md) | 