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

Amazon Cognito 身份池入门 (联合身份)

Amazon Cognito 身份池使您能够为用户创建唯一身份并分配权限。您的身份池可以包括:

  • Amazon Cognito 用户池中的用户

  • 使用 Facebook、Google 等外部身份提供商或基于 SAML 的身份提供商进行身份验证的用户

  • 通过您自己的现有身份验证流程进行身份验证的用户

借助身份池,您可以获取带您定义的权限的临时 AWS 凭证,以直接访问其他 AWS 服务或通过 Amazon API Gateway 访问资源。

注册 AWS 账户

要使用 Amazon Cognito 身份池,您需要一个 AWS 账户。如果您还没有账户,请按照以下步骤注册:

如需注册 AWS 账户

  1. 打开 http://www.amazonaws.cn/,然后选择 Create an AWS Account (创建 AWS 账户)

    注意

    如果您之前曾使用 AWS 账户根用户 凭证登录 AWS 管理控制台,请选择 Sign in to a different account (登录其他账户)。如果您之前曾使用 IAM 凭证登录控制台,请选择 Sign-in using root account credentials (使用根账户凭证登录)。然后选择 Create a new AWS account (创建新的 AWS 账户)

  2. 按照联机说明操作。

    在注册时,您将接到一通电话,要求您使用电话键盘输入一个验证码。

在 Amazon Cognito 中创建身份池

您可以通过 Amazon Cognito 控制台创建身份池,也可以使用 AWS 命令行界面 (CLI) 或 Amazon Cognito API。

在控制台中创建新的身份池

  1. 登录 Amazon Cognito 控制台,选择管理联合身份,然后选择创建新的身份池

  2. 为身份池键入一个名称。

  3. 要启用未经身份验证的身份,请从未经验证的身份可折叠部分中选择启用未经验证的身份的访问权限

  4. 如果需要,请在身份验证提供商部分中配置身份验证提供商。

  5. 选择 Create Pool

    注意

    有效身份池至少需要一个身份。

  6. 系统将提示您访问您的 AWS 资源。

    选择允许以创建两个与您的身份池关联的默认角色,一个用于未经身份验证的用户,另一个用于经过身份验证的用户。这些默认角色会向 Amazon Cognito Sync 提供身份池访问权限。您可以在 IAM 控制台中修改与身份池关联的角色。

安装移动或 JavaScript 开发工具包

要使用 Amazon Cognito 身份池,您必须安装并配置 AWS 移动或 JavaScript 开发工具包。有关更多信息,请参阅以下主题:

整合身份提供商

Amazon Cognito 身份池(联合身份)通过 Amazon Cognito 用户池、联合身份提供商(包括 Amazon、Facebook、Google)和 SAML 身份提供商以及未经身份验证的身份支持用户身份验证。此功能还支持 经过开发人员验证的身份 (身份池),这让您能够通过自己的后端身份验证流程注册并对用户进行身份验证。

要了解有关使用 Amazon Cognito 用户池创建自己的用户目录的更多信息,请参阅 Amazon Cognito 用户池在登录后使用身份池访问 AWS 服务

要了解有关使用外部身份提供商的更多信息,请参阅 身份池 (联合身份) 外部身份提供商

要了解有关集成自己的后端身份验证流程的更多信息,请参阅 经过开发人员验证的身份 (身份池)

获取凭证

Amazon Cognito 身份池为来宾用户 (未经身份验证) 及经过身份验证并收到了令牌的用户提供临时的 AWS 凭证。借助这些 AWS 凭证,您的应用程序可以通过 Amazon API Gateway 在 AWS 内部或 AWS 外部安全地访问后端。请参阅获取凭证