我的应用程序正在使用Passport Local。
成功带来了身份验证,而失败则没有。 但是,我试图通过失败消息和转义操作使它更好地失败。
尝试遵循护照文件。
由于某些原因未出现错误消息,请提供一些帮助!
这是当地的想法
// Configure the local strategy for use by Passport.
passport.use(new Strategy(
function(username, password, cb) {
db.users.findByUsername(username, function(err, user) {
if (err) { return cb(err); }
if (!user) { return cb(null, false,req.flash('message','Invalid username or password')); }
if (user.password != password) { return cb(null, false,req.flash('message','Invalid username or password')); }
return cb(null, user);
});
}));
身份验证
//Home
app.post('/home.ejs',
passport.authenticate('local'),
function(req, res) {
res.redirect('/');
});
如果更准确,但也没有运气,我还会尝试进行身份验证
//Home
app.post('/home.ejs', function( req, res, next) { passport.authenticate('local', function(err, user, info) {
if (err) { return next(err); req.flash('message','Invalid username or password') }
if (!user) { return res.redirect('/'); failureFlash: 'Invalid username or password' }
req.logIn(user, function(err) {
if (err) { return next(err); }
return res.redirect('/');
});
})(req, res, next);
});*/
答案 0 :(得分:0)
应该是
passport.use(new LocalStrategy ...
代替您的
passport.use(new Strategy(.....