From 1cc9e2be2e08ecd5c009da46a102097011b4f381 Mon Sep 17 00:00:00 2001 From: HJ <92534363+hjvoid@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:01:54 +0100 Subject: [PATCH] Revert "PP-14951 upgrade to passport v7" --- package-lock.json | 32 +++++++++++++++----------------- package.json | 6 +++--- src/lib/auth.ts | 8 +++----- src/lib/auth/github/strategy.js | 2 +- src/web/server.js | 18 ------------------ 5 files changed, 22 insertions(+), 44 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9d110425..fdd82c23 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,8 +36,8 @@ "morgan": "^1.10.1", "multer": "2.1.1", "nunjucks": "3.2.4", - "passport": "~0.7.0", - "passport-github2": "^0.1.12", + "passport": "~0.5.3", + "passport-github": "1.1.0", "qs": "6.15.0", "rfc822-validate": "^1.0.0", "sass": "^1.62.1", @@ -60,7 +60,7 @@ "@types/morgan": "^1.9.2", "@types/multer": "^1.4.5", "@types/node": "20.5.9", - "@types/passport": "^1.0.17", + "@types/passport": "1.0.6", "@types/qs": "6.9.6", "@types/stripe": "6.25.8", "chai": "^4.3.4", @@ -2878,11 +2878,10 @@ "dev": true }, "node_modules/@types/passport": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.17.tgz", - "integrity": "sha512-aciLyx+wDwT2t2/kJGJR2AEeBz0nJU4WuRX04Wu9Dqc5lSUtwu0WERPHYsLhF9PtseiAMPBGNUOtFjxZ56prsg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.6.tgz", + "integrity": "sha512-9oKfrJXuAxvyxdrtMCxKkHgmd6DMO8NDOLvMJ1LvIWd6/xP+i81PAkpTaEca7VhJX9S009RciwZL/j6dsLsHrA==", "dev": true, - "license": "MIT", "dependencies": { "@types/express": "*" } @@ -8227,14 +8226,13 @@ } }, "node_modules/passport": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", - "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.5.3.tgz", + "integrity": "sha512-gGc+70h4gGdBWNsR3FuV3byLDY6KBTJAIExGFXTpQaYfbbcHCBlRRKx7RBQSpqEqc5Hh2qVzRs7ssvSfOpkUEA==", "license": "MIT", "dependencies": { "passport-strategy": "1.x.x", - "pause": "0.0.1", - "utils-merge": "^1.0.1" + "pause": "0.0.1" }, "engines": { "node": ">= 0.4.0" @@ -8244,15 +8242,15 @@ "url": "https://github.com/sponsors/jaredhanson" } }, - "node_modules/passport-github2": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/passport-github2/-/passport-github2-0.1.12.tgz", - "integrity": "sha512-3nPUCc7ttF/3HSP/k9sAXjz3SkGv5Nki84I05kSQPo01Jqq1NzJACgMblCK0fGcv9pKCG/KXU3AJRDGLqHLoIw==", + "node_modules/passport-github": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/passport-github/-/passport-github-1.1.0.tgz", + "integrity": "sha512-XARXJycE6fFh/dxF+Uut8OjlwbFEXgbPVj/+V+K7cvriRK7VcAOm+NgBmbiLM9Qv3SSxEAV+V6fIk89nYHXa8A==", "dependencies": { "passport-oauth2": "1.x.x" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4.0" } }, "node_modules/passport-oauth2": { diff --git a/package.json b/package.json index d4aeced7..0a91a5a6 100644 --- a/package.json +++ b/package.json @@ -56,8 +56,8 @@ "morgan": "^1.10.1", "multer": "2.1.1", "nunjucks": "3.2.4", - "passport": "~0.7.0", - "passport-github2": "^0.1.12", + "passport": "~0.5.3", + "passport-github": "1.1.0", "qs": "6.15.0", "rfc822-validate": "^1.0.0", "sass": "^1.62.1", @@ -80,7 +80,7 @@ "@types/morgan": "^1.9.2", "@types/multer": "^1.4.5", "@types/node": "20.5.9", - "@types/passport": "^1.0.17", + "@types/passport": "1.0.6", "@types/qs": "6.9.6", "@types/stripe": "6.25.8", "chai": "^4.3.4", diff --git a/src/lib/auth.ts b/src/lib/auth.ts index 92eb6d62..8d166a9d 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -36,10 +36,8 @@ export function unauthorised(req: Request, res: Response) { res.status(403).send('User does not have permissions to access the resource') } -export function revokeSession(req: Request, res: Response, next: NextFunction) { +export function revokeSession(req: Request, res: Response) { logger.info(`Revoking session for user ${req.user && req.user.username}`) - req.logout((err?: unknown) => { - if (err) return next(err); - res.redirect('/'); - }); + req.logout() + res.redirect('/') } diff --git a/src/lib/auth/github/strategy.js b/src/lib/auth/github/strategy.js index 16d8a058..97e9710c 100644 --- a/src/lib/auth/github/strategy.js +++ b/src/lib/auth/github/strategy.js @@ -1,5 +1,5 @@ // github OAuth strategy -const { Strategy } = require('passport-github2') +const { Strategy } = require('passport-github') const config = require('../../../config') const logger = require('../../logger') diff --git a/src/web/server.js b/src/web/server.js index 478ce3eb..4cf50ac5 100644 --- a/src/web/server.js +++ b/src/web/server.js @@ -101,23 +101,6 @@ function configureClientSessions(instance) { })) } -// Shim for passport version 0.6+ necessary to navigate the use of req.session.regenerate issue -function configureServerSessions(instance) { - instance.use((req, res, next) => { - if (req.session && !req.session.regenerate) { - req.session.regenerate = (cb) => { - cb() - } - } - if (req.session && !req.session.save) { - req.session.save = (cb) => { - cb() - } - } - next() - }) -} - function configureAuth(instance) { const exposeAuthenticatedUserToTemplate = (req, res, next) => { res.locals.user = req.user @@ -222,7 +205,6 @@ const configure = [ configureSentryRequestHandler, configureRequestParsing, configureClientSessions, - configureServerSessions, configureAuth, configureSecureHeaders, configureServingPublicStaticFiles,