Javascript 关于节点bcrypt的一般问题
此函数处理用户提供的用户名和密码。哪个对象将此信息存储在节点中供程序访问?什么加载代码以提供此对象的值Javascript 关于节点bcrypt的一般问题,javascript,node.js,express,bcrypt,Javascript,Node.js,Express,Bcrypt,此函数处理用户提供的用户名和密码。哪个对象将此信息存储在节点中供程序访问?什么加载代码以提供此对象的值 var bcrypt = require("bcrypt"); var mc = require('mongodb').MongoClient; var playersCollection; var start = function(req, res){ var playername = req.body.playername; var password = req.body
var bcrypt = require("bcrypt");
var mc = require('mongodb').MongoClient;
var playersCollection;
var start = function(req, res){
var playername = req.body.playername;
var password = req.body.password;
playersCollection.findOne({playername: playername}, function(err, player){
if (err || !player){
req.session.destroy(function(err) {
res.redirect("/?error=invalid playername or password");
});
return;
}
bcrypt.compare(password, player.password, function(err, authenticated){
if(authenticated){
req.session.player = player;
delete req.session.player._id;
res.redirect("/" + player.room);
} else {
req.session.destroy(function(err) {
res.redirect("/?error=invalid playername or password");
});
}
});
});
}
我们是在
希望使用我们的代码作为参考可以帮助您。这是访问MongoDB获取凭据
...
userSchema.statics.encryptPassword = function(password, done) {
var bcrypt = require('bcrypt');
bcrypt.genSalt(10, function(err, salt) {
if (err) {
return done(err);
}
bcrypt.hash(password, salt, function(err, hash) {
done(err, hash);
});
});
};
userSchema.statics.validatePassword = function(password, hash, done) {
var bcrypt = require('bcrypt');
bcrypt.compare(password, hash, function(err, res) {
done(err, res);
});
};
...