1

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

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

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

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

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

编辑:概括地说,我只想访问以下功能,不知道如何从 node.js 服务器访问它们-

  1. userPool.signUp(用户名、密码、属性、回调)
  2. cognitoUser.confirmPassword(验证,新密码,{})
  3. cognitoUser.forgotPassword({})
  4. cognitoUser.authenticateUser(authenticationDetails, {})
  5. userPool.getCurrentUser()
  6. cognitoUser.getSession(回调)
  7. cognitoUser.confirmRegistration(验证,布尔,回调)
  8. cognitoUser.updateAttributes(属性列表,回调)
  9. cognitoUser.getUserAttributes(回调)

编辑:更新 1

AWSCognito 对象是由 AWS Cognito 开发工具包设置为窗口中的全局变量的东西。这是一个仅在客户端工作的过程(是的,我知道有一些 hacky 解决方案可以在我的服务器上模拟一个窗口,我不想使用这些)。服务器端是否有可以访问和调用函数的等效对象?

4

1 回答 1

2

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

于 2017-03-24T17:25:02.447 回答