Skip to Content
AdministrationOIDC-Provider konfigurieren

OIDC-Provider konfigurieren

Der Ressourcenplaner nutzt einen generischen OIDC-Provider für die Authentifizierung. Jeder OpenID Connect-kompatible Provider kann verwendet werden (Keycloak, Authentik, Azure AD, Google Workspace, etc.).

Konfiguration

Setzen Sie folgende Umgebungsvariablen:

AUTH_OIDC_ISSUER=https://keycloak.example.com/realms/resource-planer AUTH_OIDC_CLIENT_ID=resource-planer AUTH_OIDC_CLIENT_SECRET=<client-secret> AUTH_OIDC_PROVIDER_NAME=SSO # Optional: Name auf dem Login-Button

Anforderungen an den Provider

Der OIDC-Provider muss:

  • OpenID Connect Discovery unterstützen (/.well-known/openid-configuration)
  • Einen Confidential Client bereitstellen (mit Client-Secret)
  • Redirect-URIs konfiguriert haben: https://ihre-domain.com/api/auth/callback/oidc
  • E-Mail-Claim im ID-Token liefern

Keycloak-Beispiel

  1. Realm erstellen (z.B. resource-planer)
  2. Client erstellen:
    • Client-ID: resource-planer
    • Client-Typ: OpenID Connect
    • Client authentication: On
    • Redirect-URIs: https://ihre-domain.com/*
  3. Client-Secret kopieren und als AUTH_OIDC_CLIENT_SECRET setzen

Rollenverwaltung

Der OIDC-Provider wird ausschließlich zur Authentifizierung genutzt. Die Autorisierung (Rollen) verwaltet die App selbst:

  • Rollen (Admin, Manager, Mitarbeiter) werden in der App-Datenbank gespeichert
  • Der erste Benutzer, der sich anmeldet, wird automatisch Admin
  • Alle weiteren Benutzer erhalten die Rolle Mitarbeiter
  • Admins können Rollen über die Mitarbeiterverwaltung ändern

Es müssen keine Rollen oder Role-Mappings im OIDC-Provider konfiguriert werden.

Account-Linking

Mitarbeiter können als reine Planungs-Ressourcen (ohne Login) angelegt werden und nachträglich einen SSO-Zugang erhalten. Die Verknüpfung erfolgt automatisch über die E-Mail-Adresse.

Vorgehensweise

  1. Mitarbeiter anlegen (App): Admin erstellt einen Mitarbeiter mit Name und E-Mail-Adresse
  2. Benutzer anlegen (OIDC-Provider): Im Provider einen Benutzer mit derselben E-Mail-Adresse erstellen
  3. Erster Login: Beim ersten SSO-Login erkennt die App die E-Mail und verknüpft den OIDC-Account mit dem bestehenden Mitarbeiter

Der Mitarbeiter behält dabei alle bestehenden Daten (Rolle, Team-Zugehörigkeiten, Buchungen, Arbeitszeiten).

Voraussetzungen

  • Die E-Mail-Adresse muss im OIDC-Provider exakt mit der E-Mail in der App übereinstimmen
  • Der Mitarbeiter muss eine E-Mail-Adresse haben (Mitarbeiter ohne E-Mail können nicht verknüpft werden)
  • Die E-Mail muss im OIDC-Provider als verifiziert markiert sein
Last updated on