From 81165ca9db58cd125d0fc309b84284cdcf259d1c Mon Sep 17 00:00:00 2001 From: Daniel Rosel Date: Fri, 3 Apr 2026 19:04:43 +0200 Subject: [PATCH] normalize authentik issuer paths --- apps/webapp/src/app/api/auth/callback/route.ts | 4 +++- apps/webapp/src/app/login/page.tsx | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/webapp/src/app/api/auth/callback/route.ts b/apps/webapp/src/app/api/auth/callback/route.ts index b605f84..beb11a0 100644 --- a/apps/webapp/src/app/api/auth/callback/route.ts +++ b/apps/webapp/src/app/api/auth/callback/route.ts @@ -6,11 +6,13 @@ export async function GET(req: NextRequest) { if (!code) return NextResponse.redirect(`${origin}/login?error=no_code`); - const issuer = process.env.AUTHENTIK_ISSUER; + const issuerRaw = process.env.AUTHENTIK_ISSUER; const clientId = process.env.AUTHENTIK_CLIENT_ID; const clientSecret = process.env.AUTHENTIK_CLIENT_SECRET; const redirectUri = `${process.env.NEXT_PUBLIC_BASE_URL ?? origin}/api/auth/callback`; + const issuer = issuerRaw?.replace(/\/application\/o\/authorize\/?$/, '').replace(/\/$/, ''); + if (!issuer || !clientId || !clientSecret) { return NextResponse.redirect(`${origin}/login?error=oidc_not_configured`); } diff --git a/apps/webapp/src/app/login/page.tsx b/apps/webapp/src/app/login/page.tsx index ae681de..a200cee 100644 --- a/apps/webapp/src/app/login/page.tsx +++ b/apps/webapp/src/app/login/page.tsx @@ -3,8 +3,13 @@ import { useState } from 'react'; import { useRouter } from 'next/navigation'; +function normalizeIssuer(url?: string | null) { + if (!url) return null; + return url.replace(/\/application\/o\/authorize\/?$/, '').replace(/\/$/, ''); +} + function authentikUrl() { - const issuer = process.env.NEXT_PUBLIC_AUTHENTIK_ISSUER; + const issuer = normalizeIssuer(process.env.NEXT_PUBLIC_AUTHENTIK_ISSUER); const clientId = process.env.NEXT_PUBLIC_AUTHENTIK_CLIENT_ID; const base = process.env.NEXT_PUBLIC_BASE_URL ?? (typeof window !== 'undefined' ? window.location.origin : ''); if (!issuer || !clientId) return null;