6

在以下 nodeapp 中使用 v1.10 的 amazon-cognito-identity-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: navigator is not defined”

看起来正在节点服务器内尝试浏览器调用。

我为此创建了一个 github 问题,建议参考“jsbn”:“^0.1.0”、“sjcl”:“^1.0.3”、“amazon-cognito-identity-js”:“^1.10 .0", "aws-sdk": "^2.5.3"

我对软件包版本进行了更改。不幸的是,它也不适用于此。我创建了一个示例 nodejs 应用程序,它尝试使用电子邮件 ID 和密码进行身份验证。

注意:Cognito 池设置为使用电子邮件作为别名。用户已创建、确认和电子邮件验证。

源代码库:https ://github.com/prem911/cognito-nodejs

关于如何解决“找不到导航器”的任何指示?

4

1 回答 1

1

为了节省一些谷歌搜索时间,在撰写本文时没有解决上述错误,但有一个解决方法:

AWS Cognito 未经身份验证的登录错误(未定义窗口)[JS]

于 2018-01-24T23:09:50.613 回答