例如,我想知道在护照认证失败或成功时如何运行功能
.post('/login', (req, res, next) => {
passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/users/login', //I would like to run a function here instead of redirecting
failureFlash: false
})(req, res, next);
})
答案 0 :(得分:1)
您需要传递一个函数而不是config对象。
但是请确保您正确处理了请求。
即:
const login = function (req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err || !user) {
console.log(err);
return res.status(401).json({
message: 'Something is not right',
user: user
});
}
req.login(user, {session: false}, function(err) {
if (err) {
res.send(err);
}
return res.json({user});
});
})(req, res);
};