Meteor - 获取尝试登录的电子邮件地址

时间:2015-01-08 21:15:03

标签: meteor

我需要获取用户在登录尝试失败时使用的电子邮件地址,以检查他们是否在应用程序之外注册。

这是我的代码;

    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,因为很明显用户不在用户集合中。我的问题是,尝试登录的电子邮件和密码是否可以看到?

1 个答案:

答案 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找到。