mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: wrap passport.authenticate to pass in keepSessionInfo if not already set
This commit is contained in:
@@ -25,6 +25,20 @@ Auth.initialize = function (app, middleware) {
|
|||||||
|
|
||||||
Auth.app = app;
|
Auth.app = app;
|
||||||
Auth.middleware = middleware;
|
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) {
|
Auth.setAuthVars = function setAuthVars(req) {
|
||||||
|
|||||||
Reference in New Issue
Block a user