【问题标题】:Using Cognito JavaScript SDK without AWS-SDK在没有 AWS-SDK 的情况下使用 Cognito JavaScript SDK
【发布时间】:2018-04-12 21:07:35
【问题描述】:
我正在使用 Amazon 的 JavaScript AWS-SDK 设置区域和凭据,以便我在客户端应用程序上使用 Cognito。问题是 AWS-SDK 非常庞大!有没有办法只导入我需要的东西,或者根本不从AWS-SDK 导入任何东西?
这是我的代码:
import AWS from 'aws-sdk/global'
AWS.config.region = region
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: IdentityPoolId
})
【问题讨论】:
标签:
javascript
amazon-web-services
aws-sdk
amazon-cognito
aws-sdk-js
【解决方案1】:
来自the Cognito SDK docs:
适用于 JavaScript 的 Amazon Cognito 身份开发工具包依赖于:
AWS 开发工具包中的 CognitoIdentityServiceProvider 服务用于
JavaScript
因此,如果没有适用于 JavaScript 的常规 AWS 开发工具包,您将无法使用它。但是,在同一页面上,它会告诉您如何创建仅包含所需 Cognito 依赖项的精简版 AWS 开发工具包。它还提供了一个直接链接到可以使用的精简版本(但具有不同的命名空间)。我建议您前往here 下载自定义版本的 SDK,其中仅包含您需要的部分。
【解决方案2】:
有专门用于 Cognito 的 AWS 开发工具包版本,您可以为您需要的服务构建 AWS 开发工具包。
这是一个仅适用于 Cognito 的示例:
Cognito Identity SDK
这是构建您自己的自定义 AWS 开发工具包的链接:
AWS SDK for JavaScript in the Browser
我建议定制官方 JavaScript SDK,而不是使用专门的版本,因为 API 和用例在功能上可能不同或受到限制。
还有第三种选择,即完全不使用 AWS 开发工具包并手动编写所有代码。这绝对适合专家,因为您必须直接处理 REST API、创建签名等。
Google 搜索会出现许多 Cognito SDK 的变体。