Amazon Cognito
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

什么是 Amazon Cognito?

Amazon Cognito 可让您轻松地为移动和 Web 应用程序添加用户注册信息和登录信息,并管理相关权限。您可以在 Amazon Cognito 中创建自己的用户目录。您还可以选择通过 Facebook、Twitter 或 Amazon 等社交网络身份提供商;利用 SAML 身份解决方案;或您自己的身份系统对用户进行身份验证。此外,Amazon Cognito 还让您能够将数据本地保存在用户的设备上,这样即使设备离线,应用程序也可以运行。然后,您可以在用户的多个设备间同步数据,这样,不论用户使用什么设备,都能获得一致的应用程序体验。

借助 Amazon Cognito,您可以专注于创建卓越的应用程序体验,而不用担心如何构建、保护和扩展解决方案来处理用户管理、身份验证和跨设备同步等问题。

新增功能

Amazon Cognito 用户池现在有一个用于登录用户的可定制内置 UI,并提供与 Facebook、Google、Login with Amazon 和 SAML 身份提供商的内置联合。利用这些新功能,您可以轻松地将用户登录集成到您的应用程序,为您的用户提供多个登录选项。有关更多信息,请参阅用户池应用程序集成和联合入门

Amazon Cognito 的功能

Amazon Cognito 用户池:借助 Amazon Cognito 用户池,您可以创建和维护用户目录,并将注册信息和登录功能添加到移动应用程序或 Web 应用程序。您还可以通过社交身份提供商 (如 Google、Facebook 和 Amazon) 以及基于 SAML 的身份提供商将用户登录到用户池。用户池可扩展至数亿用户,可以为开发人员提供简单、安全且成本较低的选项。您可以实施增强型安全保护功能,如电子邮件和电话号码验证以及多重验证。此外,Amazon Cognito 用户池还可让您通过 AWS Lambda 自定义工作流;例如,通过将特定于应用程序的逻辑添加到用户注册过程中,以实现欺诈检测和用户验证。

Amazon Cognito 符合 HIPAA 和 PCI 标准。

有关更多信息,请参阅 Amazon Cognito 用户池

Amazon Cognito 联合身份:借助 Amazon Cognito 联合身份,您可以为您的用户创建唯一身份,并通过联合身份提供商对他们进行身份验证。有了联合身份,您便可以获得具有有限权限的临时 AWS 凭证来通过 Amazon Cognito Sync 同步数据。您还可以使用这些凭证来安全地访问其他 AWS 服务,例如 Amazon DynamoDB、Amazon S3 和 Amazon API Gateway。Amazon Cognito 联合身份支持联合身份提供商 (包括 Amazon、Facebook、Google、Twitter、OpenID Connect 提供商和 SAML 身份提供商) 以及未经身份验证的身份。此外,这个功能还支持已经过开发人员验证的身份,这让您能够通过自己的后端身份验证系统注册用户和对用户进行身份验证。

有关更多信息,请参阅 Amazon Cognito 联合身份

Amazon Cognito Sync:Amazon Cognito Sync 是一项 AWS 服务,该服务支持对应用程序相关用户数据进行离线访问和跨设备同步。您可以使用 Amazon Cognito Sync 跨移动设备和 Web 同步用户配置文件数据,无需使用自己的后端。客户端库在本地缓存数据,因此,您的应用程序可以读取和写入数据,无论设备是否处于连接状态,都是如此。当设备处于在线状态时,您可以同步数据,如果您设置了推送同步,则会立即通知其他设备有更新可用。

有关更多信息,请参阅 Amazon Cognito Sync

访问 Amazon Cognito

Amazon Cognito 可以通过 Amazon Cognito 控制台AWS Command Line Interface 和 Amazon Cognito API 访问。

您是 Amazon Cognito 的新用户吗?

如果您是首次接触 Amazon Cognito 的用户,我们建议您从阅读用户池应用程序集成和联合入门指南着手。

您也可以在我们的开发人员资源页面查找信息以及指向视频、文章、文档和示例应用程序的链接。

Amazon Cognito 定价

有关 Amazon Cognito 定价的信息,请参阅 Amazon Cognito 定价页面

适用于 Amazon Cognito 的开发工具包

适用于 Amazon Cognito 的软件开发工具包有三种类型:

  • 专用软件开发工具包和示例应用程序,用于将 Amazon Cognito 用户池托管的 UI 与您的应用程序集成。有关信息,请参阅 用于 Amazon Cognito 用户池应用程序集成和联合的软件开发工具包

  • 适用于 iOS、Android 和 JavaScript 的更高级别的客户端软件开发工具包。

  • 标准 AWS 开发工具包,包含更丰富的语言 (包括 Java、C # 和 Ruby)。

标准开发工具包涵盖服务的全部 API,而更高级别的开发工具包提供了更多功能,可让您更轻松地执行一些函数。两种类型的开发工具包之间的主要区别在于登录用户。Amazon Cognito 使用安全远程密码 (SRP) 协议,该协议需要一些计算以及客户端与服务 API 之间的几个请求。在更高级别的软件开发工具包中,工具将会为您处理这一过程。标准开发工具包公开底层 API,但它们目前不包括对 SRP 的内置支持。有关身份验证选项的更多信息,请参阅 Amazon Cognito 用户池身份验证流程

可通过以下链接获取适用于 Amazon Cognito 的软件开发工具包。

标准 AWS 开发工具包

您可以在用于 Amazon Web Services 的工具中下载和查找所有软件开发工具包的文档的链接。

用于 Amazon Cognito 用户池应用程序集成和联合的软件开发工具包

除了 Amazon Cognito 开发工具包之外,我们还拥有专用软件开发工具包和示例应用程序,用于 Amazon Cognito 用户池应用程序集成和联合。您可以在以下位置找到它们: