diff --git a/src/app/konto/page.tsx b/src/app/konto/page.tsx index 6b168cd..4393409 100644 --- a/src/app/konto/page.tsx +++ b/src/app/konto/page.tsx @@ -8,6 +8,7 @@ import { ConfirmForm } from "@/components/confirm-form"; import { getLocale } from "@/i18n/locale"; import { getDictionary } from "@/i18n/get-dictionary"; import { getCurrentCustomer } from "@/lib/auth"; +import { isEntraConfigured } from "@/lib/entra"; import { prisma } from "@/lib/prisma"; import { registerAction, @@ -32,7 +33,8 @@ export default async function KontoPage() {
-
+
+

{t.account.login}

@@ -53,6 +55,30 @@ export default async function KontoPage() {
+ {/* Microsoft-Anmeldung nur, wenn sie eingerichtet ist (ENTRA_*, + siehe .env.example) — ein Knopf, der nur "SSO ist noch nicht + konfiguriert" meldet, ist fuer Kundschaft schlechter als keiner. + Sie gehoert zur Anmeldung, steht deshalb in dieser Spalte. + Bewusst ein einfaches statt next/link: der Klick muss eine + echte Top-Level-Navigation ausloesen, die dem Redirect bis zu + login.microsoftonline.com folgt; ein clientseitiger fetch() + wuerde von der connect-src-CSP in proxy.ts blockiert. */} + {isEntraConfigured() ? ( + <> +
+ + {t.account.ssoDivider} + +
+
+ {t.account.ssoButton} + + + ) : null} +

{t.account.register}

@@ -80,34 +106,6 @@ export default async function KontoPage() {
-
- - {t.account.ssoDivider} - -
-
- {/* - Bewusst ein einfaches statt LinkButton/next/link: der Klick - muss eine ECHTE Browser-Top-Level-Navigation ausloesen, die dem - 302-Redirect dieser Route bis zu login.microsoftonline.com - folgt. Next.js' navigiert clientseitig per fetch() — - dieser Cross-Origin-Redirect-Sprung wuerde dann von der - connect-src-CSP in proxy.ts blockiert (die nur "self" u.ae. - erlaubt), waehrend eine echte Top-Level-Navigation von CSP - connect-src gar nicht erst betroffen ist. - Bewusst immer sichtbar, auch ohne konfiguriertes SSO (siehe - .env.example, ENTRA_*) — der Link fuehrt in dem Fall zu einer - klaren Fehlermeldung auf dieser Seite statt eines defekten - Buttons (src/app/api/auth/entra/login/route.ts prueft die - Konfiguration server-seitig, bevor irgendetwas passiert). - */} - - {t.account.ssoButton} - -
);