Keycloak SSO Integration #3

Open
opened 2026-03-31 00:29:15 +02:00 by tobias · 0 comments
Owner

Beschreibung

Authentifizierung über Keycloak SSO (sso.toppyr.de), Realm collaboration.

Anforderungen

OIDC-Flow

  • Backend als OIDC Relying Party
  • Authorization Code Flow mit PKCE
  • Session-Management (JWT oder Server-Side Sessions)

Keycloak-Konfiguration

  • Neuer Client antragsideen im Realm collaboration
  • Redirect-URIs konfigurieren
  • Rollen-Mapping (optional für Zukunft: Admin vs. Viewer)

Frontend

  • Login-Button → Redirect zu Keycloak
  • Logout-Button → Session beenden + Keycloak-Logout
  • Geschützte Routen: Anlegen/Editieren nur mit Auth
  • Lese-Ansicht (Liste, Detail): Optional ohne Auth?

Backend

  • JWT-Validierung Middleware
  • User-Info aus Token extrahieren (Name für Änderungslog)
  • /api/auth/me Endpoint für Frontend

Offene Fragen

  1. Read-only ohne Login? Soll die Übersicht/Liste auch ohne Login sichtbar sein, oder komplett geschützt?
  2. Rollen: Braucht es jetzt schon verschiedene Rollen (Admin/Editor/Viewer) oder reicht erstmal "eingeloggt = alles darf"?

Technische Optionen

  • passport-openidconnect (Express Middleware)
  • Oder: Traefik Forward-Auth (wie bei anderen toppyr.de Services)

Abhängigkeiten

  • Keycloak muss laufen (sso.toppyr.de)
  • Client muss in Keycloak angelegt werden
## Beschreibung Authentifizierung über Keycloak SSO (sso.toppyr.de), Realm `collaboration`. ## Anforderungen ### OIDC-Flow - Backend als OIDC Relying Party - Authorization Code Flow mit PKCE - Session-Management (JWT oder Server-Side Sessions) ### Keycloak-Konfiguration - Neuer Client `antragsideen` im Realm `collaboration` - Redirect-URIs konfigurieren - Rollen-Mapping (optional für Zukunft: Admin vs. Viewer) ### Frontend - Login-Button → Redirect zu Keycloak - Logout-Button → Session beenden + Keycloak-Logout - Geschützte Routen: Anlegen/Editieren nur mit Auth - Lese-Ansicht (Liste, Detail): Optional ohne Auth? ### Backend - JWT-Validierung Middleware - User-Info aus Token extrahieren (Name für Änderungslog) - `/api/auth/me` Endpoint für Frontend ## Offene Fragen 1. **Read-only ohne Login?** Soll die Übersicht/Liste auch ohne Login sichtbar sein, oder komplett geschützt? 2. **Rollen:** Braucht es jetzt schon verschiedene Rollen (Admin/Editor/Viewer) oder reicht erstmal "eingeloggt = alles darf"? ## Technische Optionen - `passport-openidconnect` (Express Middleware) - Oder: Traefik Forward-Auth (wie bei anderen toppyr.de Services) ## Abhängigkeiten - Keycloak muss laufen (sso.toppyr.de) ✅ - Client muss in Keycloak angelegt werden
tobias added the
infra
backend
feature
labels 2026-03-31 00:29:15 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: tobias/antragsideen-hagen#3
No description provided.