Amazon Cognito 常见场景 - Amazon Cognito
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Amazon Cognito 常见场景

本主题介绍使用 Amazon Cognito 的六个常见场景。

Amazon Cognito 的两个主要组件是用户池和身份池。用户池是为 Web 和移动应用程序用户提供注册和登录选项的用户目录。身份池提供Amazon凭证以向用户授予对其他Amazon服务。

用户池是 Amazon Cognito 中的用户目录。您的应用程序用户可以通过用户池直接登录,也可以通过第三方身份提供商 (IdP) 联合登录。用户池管理处理以下令牌的开销:从通过 Facebook、Google、Amazon 和苹果进行的社交登录返回的令牌,以及从 OpenID Connect (OIDC) 和 SAML IdC IdC 返回的令牌。无论您的用户是直接登录还是通过第三方登录,用户池的所有成员都有一个可通过开发工具包访问的目录配置文件。

使用身份池,您的用户可以获取临时Amazon用于访问的凭证Amazon服务,例如 Amazon S3 和 DynamoDB。身份池支持匿名来宾用户以及通过第三方 IdP 的联合身份验证。

使用用户池进行身份验证

您可以允许您的用户使用用户池进行身份验证。您的应用程序用户可以通过用户池直接登录,也可以通过第三方身份提供商 (IdP) 联合登录。用户池管理处理以下令牌的开销:从通过 Facebook、Google、Amazon 和苹果进行的社交登录返回的令牌,以及从 OpenID Connect (OIDC) 和 SAML IdC IdC 返回的令牌。

成功进行身份验证后,您的 Web 或移动应用程序将收到来自 Amazon Cognito 的用户池令牌。您可以使用这些令牌检索Amazon凭证,允许您的应用程序访问其他Amazon服务,也可以选择使用它们来控制对您的服务器端资源或 Amazon API Gateway 的访问。

有关更多信息,请参阅 User池身份验证流程将令牌与用户池结合使用


        身份验证概述

使用用户池访问您的服务器端资源

成功进行用户池登录后,您的 Web 或移动应用程序将收到来自 Amazon Cognito 的用户池令牌。您可以使用这些令牌控制对您的服务器端资源的访问。您也可以创建用户池组来管理权限以及表示不同类型的用户。有关使用组控制资源访问权限的更多信息,请参阅向用户池添加组


        通过用户池访问您的服务器端资源

在为用户池配置域后,Amazon Cognito 服务会预置一个托管 Web UI,您可使用此 UI 向应用程序添加注册页和登录页。使用此 OAuth 2.0 基础,您可以创建自己的资源服务器,以使您的用户能够访问受保护的资源。有关更多信息,请参阅 为您的用户池定义资源服务器

有关用户池身份验证的更多信息,请参阅User池身份验证流程将令牌与用户池结合使用

使用 API Gateway 和 Lambda 访问资源

您可以允许用户通过 API Gateway 访问您的 API。API Gateway 会验证来自成功的用户池身份验证的令牌,并使用它们向您的用户授予对资源(包括 Lambda 函数)或您自己的 API 的访问权限。

您可以使用用户池中的组控制使用 API Gateway 的权限,方法是将组成员资格映射到 IAM 角色。用户所属的组包含在您的应用程序用户登录时用户池提供的 ID 令牌中。有关用户池组的更多信息,请参阅向用户池添加组

您可以将您的用户池令牌随请求一起提交到 API Gateway,以便 Amazon Cognito 授权方 Lambda 函数进行验证。有关 API Gateway 的更多信息,请参阅结合使用 API Gateway 与 Amazon Cognito 用户池


        通过用户池访问 API Gateway

访问Amazon包含用户池和身份池的服务

成功进行用户池身份验证后,您的应用程序将收到来自 Amazon Cognito 的用户池令牌。您可以用它们交换用于临时访问其他Amazon服务与身份池。有关更多信息,请参阅 在登录后使用身份池访问 Amazon 服务Amazon Cognito 身份池入门 (联合身份)


        访问Amazon使用身份池的用户池

与第三方进行身份验证和访问Amazon包含身份池的服务

您可以允许用户访问Amazon服务。身份池需要来自由第三方身份提供商进行身份验证的用户的 IdP 令牌 (如果是匿名来宾,则不需要令牌)。作为交换,身份池授予临时Amazon凭证,您可用于访问其他Amazon服务。有关更多信息,请参阅 Amazon Cognito 身份池入门 (联合身份)


        访问Amazon凭证通过包含身份池的第三方身份提供商

访问Amazon AppSyncAmazon Cognito 资源

您可以授予用户访问Amazon AppSync资源,其中包含来自成功的 Amazon Cognito 身份验证(来自用户池或身份池)的令牌。有关更多信息,请参阅 。访问Amazon AppSync和包含用户池或联合身份的数据源


        访问Amazon AppSync通过用户池或身份池进行的资源