import "server-only"; // SSO-Konfiguration wird direkt aus Env-Vars abgeleitet – kein // Cloud-Konfigurationsschritt, analog zu lib/auth/webauthn-config.ts. // "Aktiviert" ergibt sich implizit aus dem Vorhandensein der drei // Pflicht-Vars (wie bei DEEPL_API_KEY), kein separates Enable-Flag. export function isConfigured(): boolean { return !!( process.env.OIDC_ISSUER && process.env.OIDC_CLIENT_ID && process.env.OIDC_CLIENT_SECRET ); } export function issuer(): string { return process.env.OIDC_ISSUER!; } export function clientId(): string { return process.env.OIDC_CLIENT_ID!; } export function clientSecret(): string { return process.env.OIDC_CLIENT_SECRET!; } // Bewusst aus APP_URL abgeleitet statt aus Request-Headern (wie z. B. // proxy.ts es für den Login-Redirect tut): der Wert muss exakt mit der // beim Identity Provider hinterlegten Redirect-URI übereinstimmen, // darf sich also nicht je nach eingehendem Host-Header ändern. export function redirectUri(): string { const appUrl = new URL(process.env.APP_URL ?? "http://localhost:3000"); return `${appUrl.origin}/api/auth/oidc/callback`; }