From 339883405fb91f5775a0ef198ec9944472cae878 Mon Sep 17 00:00:00 2001 From: David Leimroth <> Date: Tue, 8 Feb 2022 20:16:27 +0100 Subject: [PATCH] fixed server crash because of unregistered openidconnect strategy --- package-lock.json | 4 ++-- server/Server.js | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2ea2b5cd4..d9effa241 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "audiobookshelf", - "version": "1.6.64", + "version": "1.6.65", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "audiobookshelf", - "version": "1.6.64", + "version": "1.6.65", "license": "GPL-3.0", "dependencies": { "archiver": "^5.3.0", diff --git a/server/Server.js b/server/Server.js index 2eee785bf..ebb25623f 100644 --- a/server/Server.js +++ b/server/Server.js @@ -260,16 +260,22 @@ class Server { app.post('/logout', this.authMiddleware.bind(this), this.logout.bind(this)) - app.get("/oidc/login", passport.authenticate('openidconnect')) + app.get("/oidc/login", (() => { + if (!this.db.SSOSettings.isOIDCConfigured) return (req, res) => res.redirect("/"); + return passport.authenticate('openidconnect') + })()) app.get("/oidc/callback", - passport.authenticate('openidconnect', { failureRedirect: '/oidc/login', failureMessage: true }), - async (req, res) => { - const token = this.auth.generateAccessToken({ userId: req.user.id }) - res.cookie('sso', true, { httpOnly: false /* TODO: Set secure: true */ }); + (() => { + if (!this.db.SSOSettings.isOIDCConfigured) return (req, res) => res.redirect("/"); + return passport.authenticate('openidconnect', { failureRedirect: '/oidc/login', failureMessage: true }), + async (req, res) => { + const token = this.auth.generateAccessToken({ userId: req.user.id }) + res.cookie('sso', true, { httpOnly: false /* TODO: Set secure: true */ }); - res.redirect('/'); - } + res.redirect('/'); + } + })() ) app.get('/ping', (req, res) => {