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

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

在使用 Amazon Cognito 进行身份验证和授权之前,请选择应用程序平台并准备代码以与服务集成。有关可用的平台,请参阅使用 Amazon 开发工具包进行身份验证。 Amazon CLI 这是一款适用于亚马逊 Cognito Amazon Web Services等的命令行软件开发工具包,是开始熟悉 Amazon Cognito API 的宝贵场所。

注意

Amazon Cognito 的某些组件只能使用 API 进行配置。例如,您只能使用更新UpdateUserPoolAPI 请求中UserPoolLambdaConfig属性的请求来设置用户池自定义 SMS 或电子邮件发件人 Lambda 触发器。CreateUserPool

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 Cognito 用户池和 Amazon Cognito 身份池 API。 Amazon

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