将 Amazon Cognito 与 Web 和移动应用程序集成 - Amazon Cognito

将 Amazon Cognito 与 Web 和移动应用程序集成

当新用户发现您的程序时,或当现有用户返回使用您的应用程序时,他们的第一个任务是注册或登录。在将 Amazon Cognito 与客户端代码集成时,您将应用程序连接到协助进行身份验证和授权工作流的后端 AWS 资源。例如,您的应用程序将使用 Amazon Cognito API 在用户池中创建新用户、检索用户池令牌以及从身份池中获取临时凭证。要将 Amazon Cognito 与您的 Web 应用程序或移动应用程序集成,请使用 AWS 开发工具包和库。

尽管 Amazon Cognito 提供了 AWS Management Console集成和托管 UI 等可视化工具,AWS 已将该服务设计为与您的应用程序代码配合使用。您只能使用 API 或 AWS Command Line Interface 配置 Amazon Cognito 的特定组件。例如,您只能以 AssociateSoftwareToken 开头的流程,注册用户进行基于时间的一次性密码 (TOTP) 多重验证 (MFA)。在使用 Amazon Cognito 进行身份验证和授权之前,请选择应用程序平台并准备代码以与服务集成。

使用 AWS Amplify 框架进行 Amazon Cognito 身份验证

AWS Amplify 向 Web 和移动开发人员提供服务和库。借助 Amplify,您可以构建与由 AWS 服务组成的后端环境集成的应用程序。要预置后端环境,以及将 AWS 服务与客户端代码集成,请使用 Amplify Framework。该框架提供了一个交互式命令行界面 (CLI),可帮助您为按类别组织的功能配置 AWS 资源。这些类别包括分析、存储和身份验证等。该框架还为 Web 和移动平台(包括 iOS、Android 及 JavaScript)提供了高级开发工具包和库。JavaScript 框架包括 React、React Native、Angular、Ionic 和 Vue。每个开发工具包和库都包含身份验证操作,您可以使用这些操作来实施 Amazon Cognito 驱动的身份验证工作流。

要使用 Amplify Framework 框架向应用程序添加身份验证功能,请参阅您平台的 Amplify 授权文档:

使用 amazon-cognito-identity-js 的身份验证

适用于 JavaScript 的 Amazon Cognito Identity 开发工具包使得应用程序可以在 Amazon Cognito 用户池中注册用户和进行身份验证。应用程序还可以使用此开发工具包在 Amazon Cognito 用户池中查看、删除和更新用户属性。amazon-cognito-identity-js 程序包提供了示例代码,使得经过了身份验证的用户可以更改其密码。该程序包还提供了示例代码,可以为未经身份验证的用户启动并完成找回遗忘密码的流程。

适用于 JavaScript 的 Amazon Cognito Identity 开发工具包。

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

如果您必须使用安全后端来构建自己的与 Amazon Cognito 交互的身份微服务,则可以使用 Amazon Cognito 用户池和 Amazon Cognito 联合身份 API。

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