Code refactoring of redirect to last URL

This commit is contained in:
Sahat Yalkabov
2014-03-05 14:50:08 -05:00
parent 7fe8b67806
commit 10c7f283e9

View File

@ -9,15 +9,7 @@ var User = require('../models/User');
exports.getLogin = function(req, res) { exports.getLogin = function(req, res) {
if (req.user) return res.redirect('/'); if (req.user) return res.redirect('/');
req.session.lastUrl = req.header('Referer');
// If the host in the header of the User Agent making the request is
// the same as the server host, keep a copy of the referrer url and
// redirect to that later
if(req.header('host') == 'localhost:3000'){
req.session.referrer = req.header('Referrer');
console.log(req.session.referrer);
}
res.render('account/login', { res.render('account/login', {
title: 'Login' title: 'Login'
}); });
@ -43,18 +35,14 @@ exports.postLogin = function(req, res, next) {
passport.authenticate('local', function(err, user, info) { passport.authenticate('local', function(err, user, info) {
if (err) return next(err); if (err) return next(err);
if (!user) { if (!user) {
req.flash('errors', { msg: info.message }); req.flash('errors', { msg: info.message });
return res.redirect('/login'); return res.redirect('/login');
} }
req.logIn(user, function(err) { req.logIn(user, function(err) {
if (err) return next(err); if (err) return next(err);
req.flash('success', { msg: 'Success! You are logged in.' }); req.flash('success', { msg: 'Success! You are logged in.' });
// redirecting toa referrer page else to home page res.redirect(req.session.lastUrl || '/');
if(req.session.referrer) return res.redirect(req.session.referrer);
return res.redirect('/')
}); });
})(req, res, next); })(req, res, next);
}; };