当前位置: 首页 > 知识库问答 >
问题:

使用aws-cognito-identity-js时fetch的类型错误

倪培
2023-03-14

我正在使用serverless FrameworkTypescript构建一个无服务器应用程序,并使用aws cognito进行用户身份验证。当我在本地无服务器环境中使用应用程序时,一切都正常。我可以注册用户,也可以将用户登录到recieveJWT令牌

因此,我研究了不同的github问题/堆栈溢出,并看到每个人都建议通过添加global.fetch来解决类似的解决方案,在这个后>Nuxt应用程序中使用amazon-cognito-identity-js包提供错误fetch未定义

global.fetch = require('node-fetch')
const AmazonCognitoIdentity = require('amazon-cognito-identity-js');

所以我添加了上面的内容,并对node-fetch进行了npm安装,然后推送了代码,但问题不同了,因为我使用的是typescript,所以我不能使用global.fetch

所以我在本地找到了不同的方法来改变这一点

Way 1 
const globalAny:any = global;
globalAny.fetch = require('node-fetch');

Way 2
(global as any).fetch = require('node-fetch');

Way 3 -> Written at the end of this post. https://stackoverflow.com/questions/48433783/referenceerror-fetch-is-not-defined

当我在本地和AWS LAMDA中以两种方式运行它时,它以相同的错误失败

TypeError:fetch不是函数

所以我别无选择,正在寻找是否有人能帮助我。

共有1个答案

翟凯
2023-03-14

node fetch的较新版本与webpack有问题,您可以在本线程中找到这些问题。https://github.com/bitinn/node-fetch/issues/450

降级到node-fetch@1.7.3以使认知工作。

 类似资料:
  • Amazon Cognito Identity SDK for JavaScript NOTE: We have discontinued developing this library as part of this GitHub repository. We will continue to develop it as part of the AWS Amplify GitHub reposi

  • 我尝试使用AWS cognito注册android应用程序。但是,每当我这样做时,它都显示: 注册失败-检测到1个验证错误:值null在userattributes.1.member.name未能满足约束:成员不得为null 如何解决这个问题? AWS中此错误消息的来源在哪里?

  • 如果我遵循http://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html 页面上的“用例4”示例https://github.com/aws/amazon-cognito-identity-js/blob/master

  • 我是不是错过了一些简单的东西?

  • 我目前正在原型化一个由AWS物联网支持的应用程序,允许用户控制他们的设备。 我的想法是使用AWS Cognito对用户进行身份验证,并通过IAM角色限制对该用户拥有的特定设备(主题)的访问。 我可以看到,您可以将角色分配给一组用户,这将非常好,但允许的组数上限非常低(25)。 我是错过了一个技巧,还是这是对认知的限制?如果是这样,处理这种情况的最佳方法是什么? 提前谢谢。

  • 我使用Cognito凭据从python脚本连接到AWS IOT时遇到问题。我正在使用python中的AWS IOT SDK以及boto3包。以下是我正在做的: 首先,我建立了一个Cognito用户池,其中有两个用户有用户名和密码可以登录。我还设置了一个Cognito身份池,其中我的Cognito用户池是唯一的身份验证提供者。我不提供对未经验证身份的访问。标识池有一个身份验证角色,我将其称为“MyA