From 9b96c33d5d3706f9c5795b9c07ace063f69b101d Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 19 Aug 2022 13:04:10 -0400 Subject: [PATCH] fix: wrap passport.authenticate to pass in keepSessionInfo if not already set --- src/routes/authentication.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/routes/authentication.js b/src/routes/authentication.js index b3f9bcba40..3c6ea76f0b 100644 --- a/src/routes/authentication.js +++ b/src/routes/authentication.js @@ -25,6 +25,20 @@ Auth.initialize = function (app, middleware) { Auth.app = app; Auth.middleware = middleware; + + // Apply wrapper around passport.authenticate to pass in keepSessionInfo option + const _authenticate = passport.authenticate; + passport.authenticate = (strategy, options, callback) => { + if (!callback && typeof options === 'function') { + return _authenticate.call(passport, strategy, options); + } + + if (!options.hasOwnProperty('keepSessionInfo')) { + options.keepSessionInfo = true; + } + + return _authenticate.call(passport, strategy, options, callback); + }; }; Auth.setAuthVars = function setAuthVars(req) {