From 3187b5118bb2a7bfdfbed226b3b49070097411e4 Mon Sep 17 00:00:00 2001 From: Jennie Robinson Faber Date: Sun, 1 Mar 2026 17:12:31 +0000 Subject: [PATCH] Skip /oidc/login in catch-all so Nuxt renders the login page The server catch-all route was intercepting /oidc/login and passing it to oidc-provider, which returned 404. Now it falls through to the Vue page router instead. --- server/routes/oidc/[...].ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/routes/oidc/[...].ts b/server/routes/oidc/[...].ts index 39528f0..060348b 100644 --- a/server/routes/oidc/[...].ts +++ b/server/routes/oidc/[...].ts @@ -11,6 +11,12 @@ import { getOidcProvider } from "../../utils/oidc-provider.js"; export default defineEventHandler(async (event) => { + // Let Nuxt handle the /oidc/login page (Vue SPA route) + const path = event.path || getRequestURL(event).pathname; + if (path === "/oidc/login" || path.startsWith("/oidc/login?")) { + return; + } + const provider = await getOidcProvider(); const { req, res } = event.node;