2

我是流星的新手,一直在注册一个登录处理程序,让我使用密码对用户进行身份验证。

我正在处理来自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}

如果我取出密码字段并只使用电子邮件并输入密码,这会很好。我如何也可以使用密码进行此操作?

4

1 回答 1

3

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

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

然后你可以用Meteor.loginWithPassword登录

于 2013-06-24T15:44:20.177 回答