Допустим, у меня есть маршрут, определенный с помощью экспресс-маршрутизатор для предоставления формы оплаты:Перенаправление маршрутов в узле с использованием экспресс и Passport JS
router.get('/payment', (req, res) => {
if (req.user) {
res.render('payment', { user: req.user });
} else {
res.redirect('/login');
}
});
Если я не вошли в систему, то я должен быть приняты на страницу входа , когда я вхожу в систему, я хочу, чтобы меня перенаправили обратно в форму оплаты.
Моя сессия входа в систему построена с использованием паспорта. Вот как мой POST Войти маршрут выглядит следующим образом:
router.route('/login').post((req, res, next) => {
req.assert('email', 'Please sign up with a valid email.').isEmail();
req.assert('password', 'Password must be at least 4 characters long').len(4);
var errors = req.validationErrors();
if (errors) {
req.flash('errors', errors);
return res.redirect('/login');
}
passport.authenticate('login', {
successRedirect: 'back',
failureRedirect: '/login',
failureFlash : true
})(req, res, next);
});
В случае успеха, я перенаправлять на предыдущую страницу, но это у меня уходит на домашнюю страницу, которая имеет смысл. Я не уверен в успехе входа в систему, как я могу перенаправить пользователя в форму оплаты.
работал с удовольствием! Спасибо. – user3554072
Я рад, что это помогло :) –