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

如何在Node.jsLambda中使用AWS用户池函数?

姬天宇
2023-03-14

我正在尝试使用用户池注册一个用户,并且已经使用并修改了lambda中示例中的代码

我以正常方式引用AWS:

var AWS = require('aws-sdk');

并尝试引用现有用户池:

AWS.config.region = 'eu-east-1';

var poolData = { 
    UserPoolId : 'eu-west-1_xxxxxxx',
    ClientId : 'xxxxxxx'
};

var userPool = AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);

但我得到了以下错误:

TypeError: AWS. Cognito标识服务提供商。CognitoUserpool不是一个函数

我是否使用了错误的SDK?设置页面解释了aws cognito sdk是如何运行的。js是完整SDK的变体,但只引用Cognito标识服务,所以我假设完整SDK也允许我访问它。。。有什么想法吗?

共有2个答案

白念
2023-03-14

看起来你的代码中有一个语法错误。尝试改变这个:

var userPool = newAWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);

为此:

var userPool = new AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
卫志泽
2023-03-14

所以,我想通了。首先,是的,你可以使用标准的AWS-sdk。下面是代码:

var params = {
  ClientId: 'xxxxxxxxxxxxxx',
  Password: 'password',
  Username: 'Ross',
  UserAttributes: [
    {
      Name: 'email',
      Value: 'email@email.com'
    }
  ]
};
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
cognitoidentityserviceprovider.signUp(params, function(err, data) {
  if (err) {
    console.log(err, err.stack);
    context.fail(err);
  } else {
    console.log(data);
    context.succeed(data);
  }
});
 类似资料:
  • 我刚刚开始和AWS一起工作,学习AWS。我正在使用AWS移动中心的服务,到目前为止已经设置了登录 一切正常,现在我正在处理忘记密码和更新密码。 问题是,AWS设置忘记密码的方式是: 首先输入用户名,然后在用户输入用户名后,AWS通过SMS向与该用户名关联的电话号码发送验证码。 这是一个问题,因为这意味着任何人都可以输入任何用户名,并会发送一条短信,导致我的短信付款增加,老实说,这看起来很草率。 我

  • 我是AWS Lambda函数的新手,我想创建一个新函数,从Amplify生成的Cognito用户池中获取用户组,我看到了很多示例,但到目前为止我的函数不起作用,我想我可能缺少一些权限,我不确定。以下是我的功能: 我已经在这个答案后面添加了权限 我在这里遵循API文档来调用Cognito方法。 我在网上做所有的事情,为了测试它,我只是使用测试按钮,到目前为止,我得到的唯一响应是:,甚至没有显示函数内

  • 我有一个混合移动应用程序使用AWS Javascript SDK与Amazon Cognito集成,使用Cognito用户池作为身份提供者。很管用。 我需要使用AWS API遍历数据以生成报告。一个关键部分是列出哪个用户(显示他们的用户名)与哪些项(与他们的认知身份相关联)相关联。

  • 有人知道我们是否可以增加1000s用户池的限制吗?

  • 我一直在测试使用facebook来创建亚马逊认知用户。我一直在关注下面的链接,但据我所知,示例使用客户端代码注册用户。我需要能够通过我的API实现注册,这样我就可以在注册之前应用业务规则。 https://docs.aws.amazon.com/cognito/latest/developerguide/facebook.html null 使用认知用户池,不使用认知联合标识(标识池)

  • 我试图使用Cognito用户池控制台创建一个用户(我正在设置用户名和临时密码的值),但我一直收到这个错误。 属性不符合架构:生日:数字不能超过10个字符(服务:AWSCognitoIdentityProviderService;状态代码:400;错误代码:InvalidParameterException;请求ID:98f3de9e-5ce3-11e7-98e8-9d0c69d31df9) 使用无