使用V1.10 Cognito用戶羣。如何驗證在亞馬遜cognito身份-JS在以下nodeapp的節點JS
我寫了下面的: 用戶註冊已被證實後,將調用該函數和電子郵件已經過驗證。
var AWS = require('aws-sdk');
var AWSCognito = require('amazon-cognito-identity-js');
router.post('/emailsignin', function(req, res, next) {
var email = req.body.email;
var pwd = req.body.password;
AWS.config.region = 'eu-west-1';
var poolData = {
UserPoolId : AWS_USERPOOLID,
ClientId : AWS_APPCLIENTID
};
var userPool = new AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var authenticationData = {
Username : email,
Password : pwd,
};
var authenticationDetails = new AWS.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
var userData = {
Username : email,
Pool : userPool
};
var cognitoUser = new AWS.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
},
onFailure: function(err) {
}
});
當的authenticateUser被調用時,我得到「的ReferenceError:導航儀沒有定義」
它看起來像一個瀏覽器呼叫正在嘗試的節點服務器內部。
我創造了這個一個github上的問題和建議是指 「jsbn」: 「^ 0.1.0」, 「sjcl」: 「^ 1.0.3」, 「亞馬遜cognito身份-js「:」^ 1.10.0「, 」aws-sdk「:」^ 2.5.3「
我對軟件包版本進行了更改。不幸的是,它也不適用於此。 我已經創建了一個示例nodejs應用程序,它嘗試使用電子郵件ID和密碼進行身份驗證。
注:該Cognito池設置與電子郵件別名。用戶已創建,確認並通過電子郵件驗證。
來源回購:https://github.com/prem911/cognito-nodejs
就如何解決「找不到導航」任何指針?
Cognito是_users_服務來驗證AWS,不_servers_ 。這段代碼應該放在客戶端。 –
如果是這種情況,那麼暴露客戶端js文件中的aws用戶池ID和aws應用程序客戶端ID是不好的。我能夠從服務器執行聯合身份驗證。這是否也應該從客戶端完成? – prem911
我想你應該回顧一下認知如何工作,如果你認爲揭露這些信息是不好的。我不認爲你明白這是主要的價值主張。 –