我是meteor
的新手。我刚刚创建了简单的流星应用程序,其中我想将用户密码保存为哈希字符串,而不是普通密码,我不想使用accounts-password包。以下是我用于用户插入过程的流星方法。
Meteor.methods({'addRecord':function(user) {
var checkCollection = Users.findOne({},{sort:{userId:-1}});
if(typeof checkCollection != 'undefined' || checkCollection){
currentId = Users.findOne({},{sort:{userId:-1}}).userId || "1";
user.userId = (currentId * 1) + 1;
bcrypt.genSalt(10, Meteor.bindEnvironment(function (err, salt) {
if (err)
return
bcrypt.hash(user.password, salt, Meteor.bindEnvironment(function (err, hash) {
if (err)
return;
user.password = hash;
Users.insert(user);
}));
}));
return user.userId;
}
else {
user.userId = "1";
Users.insert(user);
}
return 1;
}
});
以下是我在用户注册路由中的代码:
Meteor.call("addRecord", newuser, function(err, result) {
if(result) {
console.log("Successfully added new record with auto_inc id " + result);
Utility.response(context, 200, {
'success': true,
'error': false,
'successText': 'Signup successful!'
});
} else {
console.log(err);
Utility.response(context, 200, {
'success': false,
'error': true,
'successText': 'Signup failed!'
});
}
});
但代码不起作用,密码保存为相同的纯文本。