Я использую Google auth через Passport в своем приложении, и я пытаюсь перенаправить пользователя на исходную страницу, которую они запросили после успешной регистрации. Я думаю, что может возникнуть проблема location.reload()
, но не знаю, как ее решить.Перенаправить пользователя на предыдущую страницу после аутентификации
routes.js:
router.post('/auth/google/return', passport.authenticate('google'), function(req, res) {
res.redirect(req.session.returnTo);
req.session.returnTo = null;
});
middleware.js:
var isAuth = function(req, res, next) {
if (req.isAuthenticated()) {
return next();
} else {
req.session.returnTo = req.url;
return res.redirect('/');
}
};
называется на кнопку мыши:
$.post('/auth/google/return', {code: authResult.code, access_token: authResult.access_token}).done(function(data) {
location.reload();
});
пожалуйста, проверьте этот адрес http://stackoverflow.com/questions/4062260/nodejs-redirect-url – Elankeeran
местоположение не нативный метод JavaScript – Elankeeran
AJAX-запросы не играют очень хорошо с Сервер- переадресация. перенаправление должно произойти на стороне клиента, или вы можете удалить запрос ajax (возможно, лучший вариант) –