我正在为我正在开发的 API 开发服务器,该 API 是使用 Node.js 构建的,并且需要使用 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(验证,newPassword,{})
  3. cognitoUser.forgotPassword({})
  4. cognitoUser.authenticateUser(authenticationDetails, {})
  5. userPool.getCurrentUser()
  6. cognitoUser.getSession(回调)
  7. cognitoUser.confirmRegistration(验证, bool ,回调)
  8. cognitoUser.updateAttributes(属性列表,回调)
  9. cognitoUser.getUserAttributes(回调)

编辑:更新 1

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

请您参考如下方法:

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


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!