Zum Inhalt springen

Identity mit Zitadel

buzzle Commerce Core verwaltet Logins nicht selbst, sondern lagert Identität vollständig an einen dedizierten Dienst aus: Zitadel, einen standardkonformen Identity-Provider für OpenID Connect (OIDC) und OAuth2. Login, Benutzer, Rollen und Berechtigungen liegen damit an einer zentralen, spezialisierten Stelle – nicht verstreut über die einzelnen Module.

Getrennte Benutzerverwaltungen in jedem System sind ein klassisches Risiko: doppelte Logins, inkonsistente Rollen, unklare Zuständigkeiten und schwer prüfbare Zugriffe. Eine zentrale Identität löst das an der Wurzel:

  • Eine Quelle der Wahrheit für Benutzer und Rollen.
  • Standardkonforme Anmeldung über OIDC/OAuth2, statt eigener Verfahren.
  • Klare Trennung zwischen fachlicher Domäne (wer ist Kunde) und technischer Identität (wer darf sich anmelden).
  • Nachvollziehbarkeit von Zugriffen und Rechten.

Der Zugang zur Plattform ist durchgängig über Zitadel abgesichert:

  • Anwendungen melden sich über Zitadel an und erhalten ein Zugriffstoken.
  • Das API Gateway prüft dieses Token bei jeder Anfrage über OAuth2-Token-Introspection gegen Zitadel, bevor es die Anfrage weiterleitet.
  • Die Module werten Rollen-Claims aus dem Token aus, um zu entscheiden, was ein Benutzer tun darf.

Die Rollen werden dabei über projektbezogene Claims transportiert (etwa im Format urn:zitadel:iam:org:project:roles). So kommt die Berechtigung mit dem Token mit und muss nicht bei jedem Zugriff separat nachgeschlagen werden.

Zitadel strukturiert Identität in Organisationen, Projekten mit Rollen und Anwendungen (etwa eine SPA, ein Maschinenbenutzer oder ein API-/Introspection-Client). Für buzzle Commerce Core wird diese Struktur passend eingerichtet: eine Organisation und ein Projekt mit den nötigen Rollen, dazu die OIDC-Anwendungen für die Oberflächen und die Systemzugänge.

Diese Einrichtung muss nicht von Hand erfolgen. Sie wird automatisiert durch die ZitadelBridge hergestellt und aktuell gehalten.

Ein wichtiges Prinzip: Benutzer werden nicht doppelt gepflegt. Wenn im Business-Modul eine Person mit Login-Berechtigung entsteht, wird daraus über ein Ereignis automatisch ein Benutzer in Zitadel provisioniert – inklusive Einladung und Rollenzuweisung. Sperren, Entsperren und Passwort-Zurücksetzen laufen denselben Weg. Fachliche Sicht und technische Identität bleiben so automatisch synchron.

Zitadel lässt sich selbst betreiben und in der Schweiz hosten. Damit bleiben – im Einklang mit der Philosophie des gesamten buzzle-Ökosystems – Identitäten und Zugangsdaten unter deiner Kontrolle. Die technische Anbindung, Provisionierung und Synchronisation übernimmt die ZitadelBridge, die im nächsten Kapitel beschrieben ist.