update passport to 0.6.0
Signed-off-by: Simon Smith <simonsmith5521@gmail.com>
Simon Smith committed
Sep 7, 2023 at 08:26 UTC
403c313771ba9e8378a8c6c21c9313c85a3fe074
3 files changed
+27
-1
meshcentral.js
+1
-1
@@ -3976,7 +3976,7 @@ function mainStart() {
3976
if (mstsc == false) { config.domains[i].mstsc = false; }
3977
if (config.domains[i].ssh == true) { if (nodeVersion < 11) { config.domains[i].ssh = false; } ssh = true; }
3978
if ((typeof config.domains[i].authstrategies == 'object')) {
3979
- if (passport == null) { passport = ['passport@0.5.3']; } // Passport v0.6.0 is broken with cookie-session, see https://github.com/jaredhanson/passport/issues/904
3979
+ if (passport == null) { passport = ['passport']; } // Passport v0.6.0 requires a patch, see https://github.com/jaredhanson/passport/issues/904
3980
if ((typeof config.domains[i].authstrategies.twitter == 'object') && (typeof config.domains[i].authstrategies.twitter.clientid == 'string') && (typeof config.domains[i].authstrategies.twitter.clientsecret == 'string') && (passport.indexOf('passport-twitter') == -1)) { passport.push('passport-twitter'); }
3981
if ((typeof config.domains[i].authstrategies.google == 'object') && (typeof config.domains[i].authstrategies.google.clientid == 'string') && (typeof config.domains[i].authstrategies.google.clientsecret == 'string') && (passport.indexOf('passport-google-oauth20') == -1)) { passport.push('passport-google-oauth20'); }
3982
if ((typeof config.domains[i].authstrategies.github == 'object') && (typeof config.domains[i].authstrategies.github.clientid == 'string') && (typeof config.domains[i].authstrategies.github.clientsecret == 'string') && (passport.indexOf('passport-github2') == -1)) { passport.push('passport-github2'); }
webrelayserver.js
+13
@@ -86,6 +86,19 @@ module.exports.CreateWebRelayServer = function (parent, db, args, certificates,
86
}
87
if (args.sessiontime != null) { sessionOptions.maxAge = (args.sessiontime * 60000); } // sessiontime is minutes
88
obj.app.use(require('cookie-session')(sessionOptions));
89
+ obj.app.use(function(request, response, next) { // Patch for passport 0.6.0 - https://github.com/jaredhanson/passport/issues/904
90
+ if (request.session && !request.session.regenerate) {
91
+ request.session.regenerate = function (cb) {
92
+ cb()
93
+ }
94
+ }
95
+ if (request.session && !request.session.save) {
96
+ request.session.save = function (cb) {
97
+ cb()
98
+ }
99
+ }
100
+ next()
101
+ });
102
103
// Add HTTP security headers to all responses
104
obj.app.use(function (req, res, next) {
webserver.js
+13
@@ -6115,6 +6115,19 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
6115
}
6116
if (obj.args.sessiontime != null) { sessionOptions.maxAge = (obj.args.sessiontime * 60000); } // sessiontime is minutes
6117
obj.app.use(require('cookie-session')(sessionOptions));
6118
+ obj.app.use(function(request, response, next) { // Patch for passport 0.6.0 - https://github.com/jaredhanson/passport/issues/904
6119
+ if (request.session && !request.session.regenerate) {
6120
+ request.session.regenerate = function (cb) {
6121
+ cb()
6122
+ }
6123
+ }
6124
+ if (request.session && !request.session.save) {
6125
+ request.session.save = function (cb) {
6126
+ cb()
6127
+ }
6128
+ }
6129
+ next()
6130
+ });
6131
6132
// Handle all incoming web sockets, see if some need to be handled as web relays
6133
obj.app.ws('/*', function (ws, req, next) {