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

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

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

您可以使用 Amazon Cognito 用户池创建最省力的集成是托管登录。使用托管登录进行用户池身份验证需要使用引导用户访问托管登录页面的 OpenID Connect (OIDC) 库。在这一系列用户交互式和重定向网络终端节点中,Amazon Cognito 负责处理身份验证流程,包括第三方登录、多因素身份验证 (MFA) 和选择身份验证流程。您的应用程序只需要处理 Amazon Cognito 在响应中返回的身份验证结果即可。

您还可以向应用程序添加 S AWS DK、自定义构建身份验证接口,并调用 API 操作对用户进行身份验证和授权。 AWS Amplify AWS 服务 用于构建全栈应用程序,后端使用 Amazon Cognito 身份验证。

Amazon Cognito 的实现是在应用程序中混合使用 AWS Management Console 我们的 AWS 软件开发工具包管理工具和软件开发工具包库。Amazon Cognito 控制台是用于设置和管理 Amazon Cognito 用户群体和身份池的可视界面。

托管登录是一款 ready-to-use基于 Web 的登录应用程序,用于快速测试和部署 Amazon Cognito 用户池。它需要在您的应用程序中配置 OIDC 库才能与您的用户池进行交互。例如,您的应用程序可能会调用托管登录进行用户登录,然后从您的应用程序代码中调用令牌端点,将用户的授权码换成令牌。然后,应用程序必须解释和存储用户的令牌,并在适当的上下文中出示它们以进行身份验证和授权。Amplify 为这些流程添加了带有内置功能的引导式集成工具。

您也可以完全在代码中构建您的 Amazon Cognito 资源。身份池的托管身份验证选项与用户池不同,要访问应用程序中的 AWS 证书,请在导入的 SDK 模块中实现身份池操作。要开始使用自己的自定义应用程序代码,请访问 Amazon Cognito 代码示例。AWS SDKs要将 Amazon Cognito 作为 OpenID Connect 身份提供商进行集成,请使用 OpenID Connect 开发工具

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

注意

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

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

使用进行身份验证 AWS Amplify

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

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

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

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

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

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

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

使用进行身份验证 AWS SDKs

要使用安全的后端构建您自己的身份微服务以与 Amazon Cognito 交互,请使用您选择的语言版本的软件开发工具包连接到 Amazon Cognito 用户池和 Amazon Cognito 身份池 API。 AWS

有关各个 API 操作的详细信息,请参阅 Amazon Cognito 用户池 API 参考Amazon Cognito API 参考。这些文档包含 “另请参阅” 章节,其中包含 SDKs在支持的平台中使用各种资源的资源。