本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Amazon Cognito 身份验证和授权与 Web 和移动应用程序集成
当您将应用程序与 Amazon Cognito 应用程序客户端集成时,您可以调用API操作对用户进行身份验证和授权。我们建议您使用AWS Amplify
Amazon Cognito 的典型实现方式混合使用可视化工具和. APIs Amazon Cognito 控制台是用于设置和管理 Amazon Cognito 用户群体和身份池的可视界面。托管用户界面是一个 ready-to-use 基于 Web 的登录应用程序,用于快速测试和部署 Amazon Cognito 用户池。此外,在大多数 Amazon Cognito 部署中,您必须在应用程序中添加代码才能与用户群体和身份池进行交互。例如,应用程序可能会调用托管 UI 进行用户登录,然后从应用程序代码中调用令牌端点,以便将用户的授权码交换为令牌。然后,应用程序必须解释和存储用户的令牌,并在适当的上下文中出示它们以进行身份验证和授权。Amplify 为这些流程添加了带有内置功能的引导式集成工具。
您也可以完全在代码中构建您的 Amazon Cognito 资源。要开始使用自己的自定义应用程序代码,请访问 Amazon Cognito 代码示例。AWS SDKs
在使用 Amazon Cognito 进行身份验证和授权之前,请选择应用程序平台并准备代码以与服务集成。有关可用的平台,请参阅使用进行身份验证 AWS SDKs。 AWS CLI 这是 Amazon Cognito AWS 服务和其他公司的命令行SDK,也是开始熟悉 Amazon Cognito 的宝贵地方。API
注意
Amazon Cognito 的某些组件只能使用进行配置。API例如,您只能使用更新SMS或请求中UserPool类LambdaConfig
属性的请求来设置用户池自定义或电子邮件发件人 Lambda 触发器。CreateUserPoolUpdateUserPoolAPI
Amazon Cognito 用户池与多个操作类别API共享其命名空间。API一个类配置用户群体及其进程、身份提供商和用户。另一个类包括用户在公共客户端中执行的未经身份验证的操作,旨在登录、注销和管理他们的配置文件。最后一类API操作在机密的服务器端客户端中执行您使用自己的 AWS 凭据授权的用户操作。在开始实现应用程序代码之前,您必须知道您想要的应用程序架构。有关更多信息,请参阅 使用 Amazon Cognito 用户池 API 和用户池端点。
使用进行身份验证 AWS Amplify
AWS Amplify 是用于构建 Web 和移动应用程序的完整解决方案。使用 Amplify,您可以使用 Amplify 库连接到现有资源,也可以使用 Amplify 命令行界面()创建和配置新资源。CLIAmplify 还连接了用户界面组件(如身份验证器
要在前端应用程序中使用 Amplify 身份验证功能,请参阅以下按平台分列的文档。
Amplify 库是开源的,可在上使用。GitHub
使用 Amplify 创建用户界面(UI)
Amazon Cognito 用户群体托管 UI 可以满足 Web 或移动应用程序的身份验证前端的基本需要。要在托管 UI 可容纳的参数之外自定义您的用户界面(UI),请创建自定义应用程序。Amplify UI
![示例 Amplify 身份验证器应用程序的屏幕截图。](images/amplify-authenticator-ui.png)
要开始使用您的自定义身份验证组件,请访问身份验证器组件的以下文档。
使用进行身份验证 AWS SDKs
要使用安全的后端构建您自己的身份微服务以与 Amazon Cognito 交互,请使用您选择的语言连接到 Amazon Cognito 用户池和 Amazon Cognito 身份API池。 AWS SDK
有关每项API操作的详细信息,请参阅 Amazon Cognito 用户池API参考和亚马逊 Cogn ito 参考。API这些文档包含 “另请参阅” 章节,其中包含SDKs在支持的平台中使用各种资源的资源。