我需要获取用户在登录尝试失败时使用的电子邮件地址,以检查他们是否在应用程序之外注册。
这是我的代码;
Accounts.validateLoginAttempt(function(info){
if (!info.allowed)
{
console.log("we don't have that user " + info.user.emails[0]['address']);
return false;
} else {
var user = info.user;
console.log("created " + user.createdAt);
console.log("emails is " + user.emails[0]['address']);
return true;
}
});
如果不允许登录,我会收到Cannot read property 'emails' of undefined
,因为很明显用户不在用户集合中。我的问题是,尝试登录的电子邮件和密码是否可以看到?
答案 0 :(得分:2)
试试这个:
Accounts.validateLoginAttempt(function(info) {
console.log("user");
console.dir(info.methodArguments[0].user);
console.log("password");
console.dir(info.methodArguments[0].password);
});
编辑:此外,我写了一个Meteor软件包来解决这个问题,可以在大气层https://atmospherejs.com/chipcastledotcom/accounts-email找到。