【问题标题】:The difference between AWS Amplify and amazon-cognito-identity-js?AWS Amplify 和 amazon-cognito-identity-js 的区别?
【发布时间】:2019-05-19 02:34:06
【问题描述】:

我正在查看有关如何将 Cognito 与 Angular 集成的演示,它是用于授权服务的 amazon-cognito-identity-js

看起来应该是我们应该使用的,但是其他教程整体安装AWS Amplify

npm i aws-amplify

想知道有什么区别以及一个是否比另一个更新?

【问题讨论】:

    标签: javascript angular typescript amazon-web-services amazon-cognito


    【解决方案1】:

    amazon-cognito-identity-js 曾经是一个单独的包,专门用于Cognito。最近,他们将所有 SDK 捆绑到 Amplify 以简化集成过程。

    例如,在我们的 iOS 应用中,Cognito SDK 存在许多问题,这些问题通过迁移到 Amplify 得到了解决。

    正如您在下面的链接中看到的,这个包现在维护在 Amplify 保护伞中。

    https://github.com/aws-amplify/amplify-js/tree/master/packages/amazon-cognito-identity-js

    这里曾经是独立的:

    https://github.com/amazon-archives/amazon-cognito-identity-js

    我建议继续使用 Amplify,因为这是 AWS 内部开发的方向,并且 amazon-cognito-identity-js 无论如何都会作为 Amplify 的一部分进行维护。

    【讨论】:

      【解决方案2】:

      补充@DaveS 的精彩回答。您可以使用 3 个官方工具将 Cognito 集成到您的应用中:

      Amplify

      • 在客户端应用程序中使用它,无论如何都要使用 Amplify - 以利用预制的身份验证 UI 组件或与 Amplify 生态系统中的其他服务集成:API、分析、存储等。
      • 不支持启用机密的 Cognito 应用客户端。
      • 无法直接进行经过身份验证的(需要 AWS 凭证)Cognito API 调用(例如adminCreateUser),但有一个workaround

      amazon-cognito-identity-js

      • 这是一个小得多的软件包,它是 Amplify 的一部分(托管在 Amplify monorepo 中)。
      • 如果您不需要 Amplify 提供的任何额外功能,它仍然可以单独使用(节省捆绑包大小)。
      • 不支持启用机密的 Cognito 应用客户端。
      • 无法进行经过身份验证的(需要 AWS 凭证)Cognito API 调用,例如adminCreateUser
      • 可在后端使用(仅限未经身份验证的 Cognito API)。

      AWS SDK

      • 尽可能低级。
      • 提供对所有(经过身份验证的和未经身份验证的)Cognito API 的访问。对于经过身份验证的代码,请确保代码可以访问 AWS 凭证。
      • 可以与启用密钥的 Cognito 客户端应用程序一起使用(您需要使用密钥对请求进行签名)。
      • 可用于客户端(仅适用于未经身份验证的 API,否则会暴露机密)和服务器应用程序。

      所有 3 个代码示例都可以在这里找到:AWS Cognito: Amplify vs amazon-cognito-identity-js vs AWS SDK

      【讨论】:

      • 嘿 Max,感谢您对这 3 个官方选项的精彩概述以及包含代码示例的文章!它确实有助于阐明将 Cognito 集成到 Web 应用程序客户端或服务器的选项。
      猜你喜欢
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 2022-01-02
      • 2022-10-01
      • 2020-09-20
      • 2019-03-04
      • 2020-12-09
      相关资源
      最近更新 更多