Zum Inhalt springen
Cashflow Hilfe
Deutsch
Esc
navigierenöffnen⌘Jvorschau
Auf dieser Seite

Generic-OIDC-Anmeldung

Unter Einstellungen → Integrationen konfigurierst du den OIDC-Provider (Authentik, Keycloak, Zitadel, …), mit dem sich Nutzer anmelden können.

In der App-Datenbank stehen nur nicht-geheime Werte; das Client Secret gehört immer in die Umgebung des Auth-Backends.

Public Client oder Confidential Client?

Beides funktioniert — entscheide dich für eine Variante:

Public Client (ohne Secret)

  • Im IdP: App als public Client mit PKCE anlegen.
  • Redirect-URI: die Callback-URL aus Einstellungen → Integrationen.
  • Auth-Backend: Issuer/Discovery-URL und Client-ID setzen, die Secret-Variable weglassen.

Confidential Client (mit Secret)

  • Im IdP: App als confidential Client anlegen und das Secret kopieren.
  • Auth-Backend: die Secret-Variable zusätzlich setzen.
  • Das Secret niemals in die App-Einstellungen eintragen — diese Tabelle ist für alle angemeldeten Nutzer lesbar.

Welche Umgebungsvariablen brauche ich?

Das selbst gehostete Auth-Backend (GoTrue/Supabase Auth) benennt seine Variablen nach der Provider-ID, und der generische OIDC-Provider ist dort unter der ID keycloak registriert. Diese ID gibt das Auth-Backend vor, die Variablennamen lassen sich also nicht umbenennen — nur die Beschriftung in dieser App heisst „Generic OIDC“.

GOTRUE_EXTERNAL_KEYCLOAK_ENABLED=true
GOTRUE_EXTERNAL_KEYCLOAK_URL=https://auth.example.com/application/o/cashflow/
GOTRUE_EXTERNAL_KEYCLOAK_CLIENT_ID=cashflow
GOTRUE_EXTERNAL_KEYCLOAK_REDIRECT_URI=https://<supabase-host>/auth/v1/callback
# nur bei Confidential Client:
GOTRUE_EXTERNAL_KEYCLOAK_SECRET=<client secret>

Bei einem Public Client lässt du die letzte Zeile einfach weg. Nach Änderungen den Auth-Container neu starten.

Wie prüfe ich die Konfiguration?

Trage die Discovery-URL (…/.well-known/openid-configuration) unter Einstellungen → Integrationen ein und klicke Test. Das Dokument wird serverseitig geladen und Issuer, Authorize-Endpoint und Laufzeit werden angezeigt. Ein Fehler bedeutet falsche URL, TLS- oder Netzwerkprobleme — das Client Secret wird dabei nicht geprüft, ein falsches Secret zeigt sich erst beim echten Login (invalid_client).

Verknüpfen schlägt mit „manual_linking_disabled“ fehl

Manuelles Identity-Linking ist im Auth-Backend standardmässig deaktiviert. Aktiviere es und starte den Auth-Container neu:

GOTRUE_SECURITY_MANUAL_LINKING_ENABLED=true

Solange die Variable fehlt, liefern die Verknüpfen-Buttons unter Einstellungen → Verknüpfte Konten und der Hinweis nach dem Login manual_linking_disabled. Das hat nichts mit dem OIDC-Test zu tun, der nur das Discovery-Dokument prüft.

Bestehendes Konto mit gleicher E-Mail

Meldest du dich per OIDC mit einer E-Mail an, die bereits ein Passwort-Konto hat, entsteht kein zweites Konto, sofern du die Verknüpfung bestätigst. Methoden lassen sich jederzeit unter Einstellungen → Verknüpfte Konten verbinden und trennen (setzt aktiviertes manuelles Linking voraus, siehe oben).

War diese Seite hilfreich?