在Meteor中使用密码的Accounts.registerLoginHandler

时间:2013-06-24 12:19:27

标签: authentication login meteor

我是meteor的新手,我一直在注册一个登录处理程序,让我使用密码来验证用户。

我正在处理http://meteorhacks.com

中的代码

服务器端代码如下:

Accounts.registerLoginHandler(function(loginRequest) {
var userId = null;
var user = Meteor.users.findOne({'emails.address': loginRequest.email, password: loginRequest.password, 'proile.type': loginRequest.type});
if(user) {
  userId = user._id;
}
return { id: userId}

如果我取出密码字段并只使用电子邮件并输入密码字段,这样可以正常工作。如何使用密码?

1 个答案:

答案 0 :(得分:3)

底线,您无法直接通过明文密码进行搜索。您需要通过SRP验证密码,这有点棘手,因为没有任何文档。幸运的是Meteor是开源的!一个良好的开端是accounts-passwordhttps://github.com/meteor/meteor/blob/master/packages/accounts-password/password_server.js

已经有一个包可以为你做密码登录(上面的文件来自)。您可以通过meteor add accounts-password将其添加到项目中。

然后您可以使用 Meteor.loginWithPassword

登录