diff options
Diffstat (limited to '')
-rw-r--r-- | lib/errors.js | 2 | ||||
-rw-r--r-- | lib/web/auth/saml/index.js | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/errors.js b/lib/errors.js index 64f93859..56fb7027 100644 --- a/lib/errors.js +++ b/lib/errors.js @@ -6,6 +6,8 @@ module.exports = { if (req.user) { responseError(res, '403', 'Forbidden', 'oh no.') } else { + if (!req.session) req.session = {} + req.session.returnTo = req.originalUrl || config.serverUrl + '/'; req.flash('error', 'You are not allowed to access this page. Maybe try logging in?') res.redirect(config.serverURL + '/') } diff --git a/lib/web/auth/saml/index.js b/lib/web/auth/saml/index.js index dd274814..40a6f8b3 100644 --- a/lib/web/auth/saml/index.js +++ b/lib/web/auth/saml/index.js @@ -7,7 +7,6 @@ const config = require('../../../config') const models = require('../../../models') const logger = require('../../../logger') const { urlencodedParser } = require('../../utils') -const { setReturnToFromReferer } = require('../utils') const fs = require('fs') const intersection = function (array1, array2) { return array1.filter((n) => array2.includes(n)) } @@ -77,13 +76,12 @@ passport.use(new SamlStrategy({ }) })) -samlAuth.get('/auth/saml', function (req, res, next) { - setReturnToFromReferer(req) +samlAuth.get('/auth/saml', passport.authenticate('saml', { successReturnToOrRedirect: config.serverURL + '/', failureRedirect: config.serverURL + '/' - })(req, res, next) -}) + }) +) samlAuth.post('/auth/saml/callback', urlencodedParser, passport.authenticate('saml', { |