AWS Cognito SDK Node.JS实施

时间:2017-03-23 20:14:44

标签: node.js aws-sdk aws-cognito aws-sdk-nodejs

我正在开发一个服务器,用于我正在开发的使用node.js构建的API,并且需要使用AWS Cognito。在此之前,我们在客户端开发了使用AWS SDK的此应用程序的工作版本,我目前正在尝试将该功能转换到服务器端。我正在努力找到一个很好的方法来做这个并且有一些具体的问题,如果得到回答,可能会让我得到我正在寻找的实现。基本上,我想知道AWSCognito对象是什么以及如何访问它,就像我在下面的代码行中看到的那样。

var poolData = { 
    UserPoolId : 'us-east-###########',
    ClientId : '########################'
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);

目前我的代码是使用完整的AWS SDK设置的,使用[a]安装并使用[b]在我的代码中访问。

[a] npm install --save aws-sdk
[b] var AWS = require('aws-sdk');

有没有办法从我的AWS对象访问此AWSCognito对象?如果是这样,我该怎么做?如果没有,我如何访问它/甚至可以访问它?

编辑:总的来说,我只想访问以下函数,并且不知道如何从node.js服务器访问它们 -

  1. userPool.signUp(用户名,密码,属性,回调)
  2. cognitoUser.confirmPassword(verification,newPassword,{})
  3. cognitoUser.forgotPassword({})
  4. cognitoUser.authenticateUser(authenticationDetails,{})
  5. userPool.getCurrentUser()
  6. cognitoUser.getSession(回调)
  7. cognitoUser.confirmRegistration(验证,布尔,回调)
  8. cognitoUser.updateAttributes(attributeList,callback)
  9. cognitoUser.getUserAttributes(回调)
  10. 编辑:更新1

    AWS Cognito SDK在窗口中将AWSCognito对象设置为全局变量。这是一个只在客户端工作的过程(是的,我知道有一些hacky解决方案来模拟我的服务器上的窗口,我宁愿不使用这些)。服务器端是否有一个等效的对象,我可以访问并调用函数?

1 个答案:

答案 0 :(得分:2)

您可以在Node.JS环境中使用Cognito,但使用AWS SDK for JavaScript执行此操作与使用AWS Cognito SDK执行此操作略有不同。根据您要访问的功能的名称,您应该查看Cognito Identity Provider Service。以admin开头的操作旨在使用AWS凭证从服务器调用。