From 771eeee887c7c0ab30d83049ff36baad490cb79b Mon Sep 17 00:00:00 2001 From: Nick Szaunig Date: Sun, 27 Sep 2026 12:42:25 +0200 Subject: [PATCH] fix: Admin-Routen nicht vorab rendern (Docker-Build ohne Secrets) next build versuchte /admin statisch zu rendern. currentAdmin() rief dabei getAuth() vor headers() auf und scheiterte ohne BETTER_AUTH_SECRET im Build-Container. Jetzt werden zuerst die Request-Header gelesen, wodurch alle Admin-Routen dynamisch sind und Auth erst zur Laufzeit geladen wird. Co-Authored-By: Claude Opus 5.5 (1M context) --- src/lib/admin-auth.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/admin-auth.ts b/src/lib/admin-auth.ts index f14ffbb..38011cb 100644 --- a/src/lib/admin-auth.ts +++ b/src/lib/admin-auth.ts @@ -11,7 +11,11 @@ import { getAuth } from "./auth"; export type AdminUser = { id: string; email: string; name: string; twoFactorEnabled: boolean }; async function currentAdmin(): Promise { - const session = await getAuth().api.getSession({ headers: await headers() }); + // Zuerst die Request-Header lesen: das macht jede Admin-Route dynamisch. + // Sonst versucht "next build" sie vorab zu rendern und scheitert ohne + // Secrets im Container (getAuth() braucht BETTER_AUTH_SECRET). + const requestHeaders = await headers(); + const session = await getAuth().api.getSession({ headers: requestHeaders }); if (!session) return null; const user = session.user as typeof session.user & { twoFactorEnabled?: boolean | null }; return { id: user.id, email: user.email, name: user.name, twoFactorEnabled: Boolean(user.twoFactorEnabled) };