本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Amazon Cognito 身份验证和授权与 Web 和移动应用程序集成
当您将应用程序与 Amazon Cognito 应用程序客户端集成时,您可以调用 API 操作来对用户进行身份验证和授权。我们建议您使用Amazon Amplify
Amazon Cognito 的典型实现使用可视化工具和 API 的组合。Amazon Cognito 控制台是用于设置和管理 Amazon Cognito 用户群体和身份池的可视界面。托管用户界面是一个 ready-to-use 基于 Web 的登录应用程序,用于快速测试和部署 Amazon Cognito 用户池。此外,在大多数 Amazon Cognito 部署中,您必须在应用程序中添加代码才能与用户群体和身份池进行交互。例如,应用程序可能会调用托管 UI 进行用户登录,然后从应用程序代码中调用令牌端点,以便将用户的授权码交换为令牌。然后,应用程序必须解释和存储用户的令牌,并在适当的上下文中出示它们以进行身份验证和授权。Amplify 为这些流程添加了带有内置功能的引导式集成工具。
您也可以完全在代码中构建您的 Amazon Cognito 资源。要开始使用自己的自定义应用程序代码,请访问 Amazon SDK
在使用 Amazon Cognito 进行身份验证和授权之前,请选择应用程序平台并准备代码以与服务集成。有关可用的平台,请参阅使用 Amazon 开发工具包进行身份验证。 Amazon CLI 这是一款适用于亚马逊 Cognito Amazon Web Services等的命令行软件开发工具包,是开始熟悉 Amazon Cognito API 的好去处。
注意
Amazon Cognito 的某些组件只能使用 API 进行配置。例如,您只能使用更新或 UpdateUserPoolAPI 请求中UserPool类LambdaConfig
属性的请求来设置用户池自定义 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 创建用户界面(UI)
Amazon Cognito 用户群体托管 UI 可以满足 Web 或移动应用程序的身份验证前端的基本需要。要在托管 UI 可容纳的参数之外自定义您的用户界面(UI),请创建自定义应用程序。Amplify UI
要开始使用您的自定义身份验证组件,请访问身份验证器组件的以下文档。
使用 Amazon 开发工具包进行身份验证
要使用安全的后端构建您自己的身份微服务以与 Amazon Cognito 交互,请使用您选择的语言版本的软件开发工具包连接到 Amazon Cognito 用户池和 Amazon Cognito 身份池 API。 Amazon
有关各个 API 操作的详细信息,请参阅 Amazon Cognito 用户池 API 参考和 Amazon Cognito API 参考。这些文档包含另请参阅部分,其中提供了在支持的平台上使用各种 SDK 的资源。