将 Amazon Cognito 身份验证和授权与 Web 和移动应用程序集成 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将 Amazon Cognito 身份验证和授权与 Web 和移动应用程序集成

当您将应用程序与 Amazon Cognito 应用程序客户端集成时,您可以调用 API 操作来对用户进行身份验证和授权。我们建议您使用 Amazon Amplify 将 Amazon Cognito 与您的网络和移动应用程序集成。Amazon Amplify 是一个完整的解决方案,可让前端 Web 和移动开发人员轻松地在Amazon上构建、连接和托管全栈应用程序,并可以随着用例的发展灵活地利用 Amazon Web Services的广度。Amplify Auth 主要利用 Amazon Cognito 来构建身份验证功能。

Amazon Cognito 的典型实现使用可视化工具和 API 的组合。Amazon Cognito 控制台是用于设置和管理 Amazon Cognito 用户群体和身份池的可视界面。托管 UI 是一个随时可用的基于 Web 的登录应用程序,用于快速测试和部署 Amazon Cognito 用户群体。此外,在大多数 Amazon Cognito 部署中,您必须在应用程序中添加代码才能与用户群体和身份池进行交互。例如,应用程序可能会调用托管 UI 进行用户登录,然后从应用程序代码中调用令牌端点,以便将用户的授权码交换为令牌。然后,应用程序必须解释和存储用户的令牌,并在适当的上下文中出示它们以进行身份验证和授权。Amplify 为这些流程添加了带有内置功能的引导式集成工具。

您也可以完全在代码中构建您的 Amazon Cognito 资源。要开始使用自己的自定义应用程序代码,请访问 Amazon SDK 的 Amazon Cognito 代码示例。要将 Amazon Cognito 作为 OpenID Connect 身份提供商进行集成,请使用 OpenID Connect 开发工具

在使用 Amazon Cognito 进行身份验证和授权之前,请选择应用程序平台并准备代码以与服务集成。有关可用的平台,请参阅使用 Amazon 开发工具包进行身份验证。Amazon CLI 是一款适用于 Amazon Cognito 和其他 Amazon Web Services的命令行 SDK,是开始自行熟悉 Amazon Cognito API 的重要位置。

注意

Amazon Cognito 的某些组件只能使用 API 进行配置。例如,您只能使用用于更新 CreateUserPoolUpdateUserPool API 请求中 UserPool 类的 LambdaConfig 属性的请求,来设置用户群体自定义短信或电子邮件发件人 Lambda 触发器。

Amazon Cognito 用户群体 API 与多个 API 操作类共享其命名空间。一个类配置用户群体及其进程、身份提供商和用户。另一个类包括用户在公共客户端中执行的未经身份验证的操作,旨在登录、注销和管理他们的配置文件。最后一个 API 操作类执行用户操作,您可以在机密服务器端客户端中使用自己的 Amazon 凭证授权执行这些操作。在开始实现应用程序代码之前,您必须知道您想要的应用程序架构。有关更多信息,请参阅使用 Amazon Cognito 用户池 API 和用户池端点

使用 Amazon Amplify 进行身份验证

Amazon Amplify 是构建 Web 和移动应用程序的完整解决方案。借助 Amplify,您可以使用 Amplify 库连接到现有资源,也可以使用 Amplify 命令行界面(CLI)创建和配置新资源。Amplify 还连接了用户界面组件(如身份验证器),以便在您的应用程序中设置和自定义登录和注册体验。

要在前端应用程序中使用 Amplify 身份验证功能,请参阅以下按平台分列的文档。

Amplify 库是开源的,在 GitHub 上提供。要了解有关 Amplify Auth 如何实现 Amazon Cognito 身份验证的更多信息,请访问以下库。

使用 Amplify 创建用户界面(UI)

Amazon Cognito 用户群体托管 UI 可以满足 Web 或移动应用程序的身份验证前端的基本需要。要在托管 UI 可容纳的参数之外自定义您的用户界面(UI),请创建自定义应用程序。Amplify UI 是各种语言的前端组件的可自定义集合。


          示例 Amplify 身份验证器应用程序的屏幕截图。

要开始使用您的自定义身份验证组件,请访问身份验证器组件的以下文档。

使用 Amazon 开发工具包进行身份验证

要使用安全的后端构建您自己的身份微服务以与 Amazon Cognito 进行交互,请使用您选择的语言的 Amazon SDK 连接到 Amazon Cognito 用户群体和 Amazon Cognito 身份池 API。

有关各个 API 操作的详细信息,请参阅 Amazon Cognito 用户池 API 参考Amazon Cognito API 参考。这些文档包含另请参阅部分,其中提供了在支持的平台上使用各种 SDK 的资源。