

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

# 使用 Amazon Cognito
<a name="cognito"></a>

Amazon Cognito 为您的 Web 和移动应用程序提供身份验证、授权和用户管理。用户使用登录凭证或通过第三方（例如Facebook、亚马逊、谷歌或苹果）直接登录。

Amazon Cognito 的两个主要组件是用户池和身份池。用户池是为应用程序用户提供注册和登录选项的用户目录。身份池使您能够向您的用户授予对其他 AWS 服务的访问权限。您可以单独或配合使用身份池和用户池。有关更多信息，请参阅 [Amazon Cognito 文档中的常见亚马逊 Cognito 场景](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-scenarios.html)。

## 使用案例示例
<a name="cognito-ex"></a>

下图显示了使用无服务器 ASP.NET Core 网络应用程序、Amazon API Gateway 和实现亚马逊 Cognito 的示例。 AWS Lambda此架构是通过使用以下配置实现的：
+ Amazon Cognito 用户池配置为对用户进行身份验证、存储和管理。
+ ASP.NET Core 网络应用程序托管在 Lambda 中，由 API Gateway 主导。
+ 客户端脚本根据 Amazon Cognito 对用户进行身份验证。该脚本从 Amazon Cognito (1) 接收 JSON 网络令牌 (JWT)，并将其作为 HTTP 授权标头传递给 Web API 方法进行授权。然后 JWT 被传递给 API Gateway 进行授权 (2)。

![\[使用 Amazon Cognito 和 API Gateway 进行安全的.NET 框架应用程序开发\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/modernization-net-applications-security/images/net-security-cognito.png)


## 资源
<a name="cognito-resources"></a>
+ [常见的亚马逊 Cognito 场景](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-scenarios.html)（亚马逊 Cognito 文档）
+ 使用 A@@ [mazon Cognito 对无服务器 ASP.NET 核心网络应用程序进行身份验证](https://www.youtube.com/watch?v=M6qTrI7kmZk)（视频）