Javascript passport js检查请求中的错误
我正在使用passport local登录用户:Javascript passport js检查请求中的错误,javascript,node.js,express,passport.js,Javascript,Node.js,Express,Passport.js,我正在使用passport local登录用户: // route to log in app.post('/login', passport.authenticate('local-login'), function(req, res) { res.send(req.user); }); 这仅在成功的情况下有效,即定义了req.user。如何检查请求中的错误?本质上,我希望在done()调用中获取从passport身份验证代码中提取的错误,并将其发送回
// route to log in
app.post('/login', passport.authenticate('local-login'), function(req, res) {
res.send(req.user);
});
这仅在成功的情况下有效,即定义了req.user。如何检查请求中的错误?本质上,我希望在done()调用中获取从passport身份验证代码中提取的错误,并将其发送回客户端,以显示正确的错误消息:
passport.use('local-login', new LocalStrategy({
username : 'email',
password : 'password',
passReqToCallback : true
},
function(req, email, password, done) {
console.log('logging in user: ' + email);
// find a user whose email is the same as the forms email
// we are checking to see if the user trying to login already exists
Landlord.findOne({ 'local.email' : email }, function(err, user) {
if (err) return done(err);
if (!user) return done(null, false, { message: 'Incorrect username.' });
if (!user.validPassword(password)) {
console.log('wrong pw');
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}));
我这样做了,但是在调用req.isAuthenticated()时,后续请求会给我一个未经验证的错误