2017-03-23 79 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

這正是我所期待的。我已經查看過這些文檔,但並不真正瞭解'管理員'操作的目的。謝謝! –