我正在使用护照本地策略验证我的 nodeJs 应用程序 . 一切都很好 . 但是,如何向用户显示他输入的相应消息 invalid login credentials . 我现在的代码只是在屏幕上发送 401 unauthorized error .
这是我的代码
passport.use(new LocalStrategy(function(username, password, callback) {
User.findOne({
username : username
}, function(err, user) {
if (err) {
return callback(err);
}
// No user found with that username
if (!user) {
return callback(null, false);
}
// Make sure the password is correct
user.verifyPassword(password, function(err, isMatch) {
if (err) {
return callback(err);
}
// Password did not match
if (!isMatch) {
return callback(null, false);
}
// Success
return callback(null, user);
});
});
}));
exports.isLocalAuthenticated = passport.authenticate('local', {
session : true
});
router.post('/', authController.isLocalAuthenticated, function(req, res) {
//here I want to show the error message to user
});
1 回答
documentation已在 Custom Callback 部分清楚地描述了您的案例 .
你需要像这样添加自定义回调:
您不需要指定后一个回调 .