-
-
Save hansamlin/34927347c80d5f09203efa36c8917c5f to your computer and use it in GitHub Desktop.
Check if user is logged in Express otherwise redirect to /login
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Get the 'backTo' value or '/' instead | |
var getBackTo = function (req) { | |
var backTo = req.session.backTo || '/'; | |
delete req.session.backTo; | |
return backTo; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// If user is not present stop | |
var getUser = function (req) { | |
var user = req.session.user; | |
if (user == null) { | |
throw('Error'); | |
} else { | |
return user; | |
} | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// If user is not present redirect to login page | |
var getUserOrLogin = function (req, res, next) { | |
var user = req.session.user; | |
if (user == null) { | |
req.session.backTo = req.originalUrl; | |
res.redirect('/login'); | |
} else { | |
req.user = user; | |
next(); | |
} | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Set an error message and redirect | |
var redirectWithMessage = function (message, url, req, res) { | |
req.session.messages = message; | |
res.redirect(url); | |
}; | |
// Return 'messages' value or null instead | |
var getMessages = function (req) { | |
var messages = req.session.messages || null; | |
delete req.session.messages; | |
return messages; | |
}; | |
// Set an error message and redirect | |
var redirectWithError = function (error, url, req, res) { | |
req.session.errors = error; | |
res.redirect(url); | |
}; | |
// Return 'errors' value or null instead | |
var getErrors = function (req) { | |
var errors = req.session.errors || null; | |
delete req.session.errors; | |
return errors; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment