UNPKG

@syngrisi/syngrisi

Version:
45 lines (42 loc) 1.15 kB
/** * Ensure that no user is logged in before proceeding to next route middleware. * * This middleware ensures that no user is logged in. If a request is received * that is authenticated, the request will be redirected to another page (by * default to `/`). * * Options: * - `redirectTo` URL to redirect to in logged in, defaults to _/_ * * Examples: * * app.get('/login', * ensureLoggedOut(), * function(req, res) { ... }); * * app.get('/login', * ensureLoggedOut('/home'), * function(req, res) { ... }); * * app.get('/login', * ensureLoggedOut({ redirectTo: '/home' }), * function(req, res) { ... }); * * @param {Object} options * @return {Function} * @api public */ module.exports = function ensureLoggedOut(options) { let opts; if (typeof options === 'string') { opts = { redirectTo: options }; } opts = options || {}; const url = opts.redirectTo || '/'; return function (req, res, next) { if (req.isAuthenticated && req.isAuthenticated()) { return res.redirect(url); } return next(); }; };