将 Amazon Cognito 与 Web 和移动应用程序集成 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

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

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

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

Amazon Amplify 向 Web 和移动开发人员提供服务和库。借助 Amplify,您可以构建与由 Amazon Web Services组成的后端环境集成的应用程序。要预置后端环境,以及将 Amazon Web Services与客户端代码集成,请使用 Amplify Framework。该框架提供了一个交互式命令行界面 (CLI),可帮助您为按类别组织的功能配置 Amazon 资源。这些类别包括分析、存储和身份验证等。该框架还为 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 开发工具包。

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

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

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