Cognito 使用哪个 AWS JS SDK 包?

Which AWS JS SDK package(s) to use for Cognito?

截至目前,与 Cognito 相关的 AWS SDK 至少有 5 个软件包。

其中一些在方法上有所重叠。许多只是略有不同。文档和链接从过时到完全错误不等。

大部分文档使用 ES5,一些使用 ES6,一些使用 TypeScript,一些使用 Node。

开发人员应该如何知道如何从中得出正面或反面?

作为开发人员,我每天都使用 Cognito。我建议从 AWS JavaScript SDK(完整的 SDK)开始。 Cognito 开发所需的一切都在那里,而且总是最新的。了解 Cognito 的详细信息后,请查看更高级别的软件包。到那时你可能已经编写了自己的代码库,然后就不会考虑其他的了。

Cognito 开发的问题在于,除非您继续使用核心 SDK,否则其他包要么不存在,要么与其他平台或其他语言的 SDK 不兼容,例如 PHP 或 Java。

根据您的目标/要求,您可能需要支持移动、桌面、服务器、Lambda 等。如果您坚持使用核心 SDK,那么您可以快速适应各种环境。如果您使用只能工作的更高级别的包,例如 node.js,那么您有一个移植问题。

[编辑]

我忘记提及的一个项目是,Cognito 实际上是三种不同的服务,因此在 SDK 中包含三个不同的部分(类,等等)。有 Cognito 用户池、Cognito 联合身份和 Cognito 同步。一些更高级别的 SDK 仅支持一个或另一个或仅支持其中的一部分以使界面更容易(或更直观)。