У меня есть этот простой код, часть POST которого в значительной степени соответствует паспортной документации:
authRouter.route('/signIn').get((req, res) => {
res.render('signIn', {
nav,
props,
title: 'Sign In'
});
})
.post(passport.authenticate('local'), function(req, res) {
debug(`${chalk.redBright('authenticated')}`);
// If this function gets called, authentication was successful.
// `req.user` contains the authenticated user.
res.redirect('/auth/profile');
});
Но независимо от ответа HTTP (200, 304 и т. Д. 1021 *), на самом деле никогда не перенаправляет. Я также пытался использовать методы successRedirect и faultRedirect с одинаковым результатом.
Вот мой маршрут для auth / profile:
authRouter.route('/profile')
.all((req, res, next) => {
if (req.user) {
next();
debug(req.user)
} else {
res.redirect('/');
}
})
.get((req, res) => {
res.json(req.user);
});
return authRouter;
}
В этом случае res.redirect работает отлично.
Это в Windows, но у меня есть почти идентичная реализация в проекте Ubuntu, который Кажется, работает нормально. Я уверен, что что-то есть c Я не понимаю здесь, но я смотрел на это в течение многих дней, и я просто не могу понять это. Любая помощь будет принята с благодарностью.