未标记,未指定“;“错误”;事件passport[Node.js]中的(不正确的参数)
我已使用passport进行验证,并将值保存为资源集合,并且正在获取未捕获的未指定“错误”事件。(不正确的论点)。但我只使用了相同的电子邮件名称和密码 下面是我的passport.js未标记,未指定“;“错误”;事件passport[Node.js]中的(不正确的参数),node.js,passport.js,Node.js,Passport.js,我已使用passport进行验证,并将值保存为资源集合,并且正在获取未捕获的未指定“错误”事件。(不正确的论点)。但我只使用了相同的电子邮件名称和密码 下面是我的passport.js var LocalStrategy = require('passport-local').Strategy; var mongoose = require('mongoose'); var User = require('../app/models/db_model'); mo
var LocalStrategy = require('passport-local').Strategy;
var mongoose = require('mongoose');
var User = require('../app/models/db_model');
module.exports =function(passport){
passport.serializeUser(function(user, done) {
done(null, user.id);
//console.log("ser"+user);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
//console.log("deser"+user);
done(err, user);
});
});
passport.use('local-userlogin', new LocalStrategy({
usernameField : 'email',
passwordField : 'password',
passReqToCallback : true
},
function(req, email, password, done) {
User.findOne({ 'email' : email}, function(err, user) {
console.log(user);
if (err)
return done(err);
if (!user)
return done(null, false, req.flash('loginMessage', 'Oops! Invalid Username.'));
if (!user.validPassword(password))
return done(null, false, req.flash('loginMessage', 'Oops! Invalid Password.'));
return done(null, user);
});
}));
}
请在这个问题上帮助我我在使用带有Bcrypt[Bcrypt nodejs]的Passport时收到了相同的错误 在我的用户模型中,我有
userSchema.methods.encryptPassword = password => {
return bcrypt.hashSync(password, bcrypt.genSaltSync(1), null);
}
userSchema.methods.validPassword = password => {
return bcrypt.compareSync(password, this.password);
}
然后我用
userSchema.methods.encryptPassword = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(5), null);
}
userSchema.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.password);
}
这就消除了错误。
这似乎意味着bcrypt nodejs
不喜欢箭头函数
希望这有帮助 定义方法时使用匿名函数而不是箭头函数。类似于:
UserSchema.methods.validPassword=function(params){…}
我对这项技术非常陌生,我必须在哪里使用它?这应该是公认的答案。我还遇到了这个错误,发现即使@2019年7月-bcrypt-nodejs仍然不允许使用箭头函数。我认为我的异步函数有问题,但结果证明它只是bcrypt nodejs中的arrow函数