2017-03-23 80 views
0

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

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(验证,NEWPASSWORD,{})
  3. cognitoUser.forgotPassword({})
  4. cognitoUser.authenticateUser(authenticationDetails,{})
  5. userPool.getCurrentUser( )
  6. cognitoUser.getSession(回调)
  7. cognitoUser.confirmRegistration(验证,布尔,回调)
  8. cognitoUser.updateAttributes(AttributeList中,回调)
  9. cognitoUser.getUserAttributes(回调)

编辑:Update 1

AWCognito对象由AWS Cognito SDK在窗口中设置为全局变量。这是一个只能在客户端运行的进程(是的,我知道有很多解决方案可以在我的服务器上模拟一个窗口,我不希望使用这些窗口)。服务器端是否存在可以访问和调用函数的等效对象?

回答

1

您可以在Node.JS环境中使用Cognito,但使用适用于JavaScript的AWS开发工具包与使用AWS Cognito SDK这样做有点不同。根据你想访问的功能的名称,你应该看看Cognito Identity Provider Service。以admin开头的操作意味着使用AWS凭证从服务器调用。

+0

这正是我所期待的。我已经查看过这些文档,但并不真正了解'管理员'操作的目的。谢谢! –