Zum Inhalt springen

ZitadelBridge

Die ZitadelBridge ist der Vermittler zwischen buzzle Commerce Core und dem Identity-Dienst Zitadel. Sie sorgt dafür, dass die Identität automatisch eingerichtet, gepflegt und mit der Plattform synchron gehalten wird – in beide Richtungen: fachliche Befehle werden zu Zitadel-Aufrufen, Zitadel-Ereignisse werden zu Plattform-Nachrichten.

Die Bridge übernimmt vier zusammengehörige Aufgaben:

  • Einrichtung des Zitadel-Tenants aus einer deklarativen Konfiguration,
  • Selbst-Provisionierung der eigenen Zugänge,
  • Befehle → Zitadel: Umsetzung fachlicher Befehle vom Bus in Zitadel-Aktionen,
  • Zitadel → Bus: Weiterleitung von Zitadel-Ereignissen an die Plattform.

Die Bridge liest eine zusammengeführte Konfiguration und gleicht Zitadel an den gewünschten Sollzustand an: Organisation und Projekt (mit Rollen und Standard-Scopes), OIDC-Anwendungen (SPA, Maschinenbenutzer, API-/Introspection-Clients), Branding-Elemente und – wo aktiviert – Laufzeit-Ausgabedateien. Dieser Abgleich ist idempotent: Er kann beliebig oft laufen und stellt jeweils denselben Zielzustand her, ohne Dinge doppelt anzulegen.

Der Abgleich läuft beim Start (steuerbar über die Konfiguration) und lässt sich zusätzlich gezielt auslösen – auch als Vorschau („Dry Run”), die zeigt, was sich ändern würde, ohne es tatsächlich zu tun.

Bei jedem Durchlauf stellt die Bridge idempotent ihre eigenen Zugänge sicher: einen Maschinenbenutzer für die Verwaltung, ein persistiertes Zugriffstoken, eine eigene OIDC-Anwendung für den Einrichtungsassistenten. Ein erneutes Ausstellen von Zugangsdaten geschieht nur, wenn diese fehlen oder ungültig geworden sind. So braucht die Bridge nach der ersten Einrichtung keine manuell verwalteten Geheimnisse mehr.

Für die erste Inbetriebnahme bringt die Bridge eine Weboberfläche mit – einen Einrichtungsassistenten, der den Bediener in wenigen Schritten durch die Einrichtung führt: Zustand und Konfiguration prüfen, den Abgleich anwenden, die erzeugten Zugangsdaten übernehmen und den Vorgang abschliessen. Erst mit dem bewussten Abschluss wird der geschützte Betrieb scharf geschaltet. Dieselbe Oberfläche zeigt ein Live-Dashboard der aktuellen Aktivität.

Die Bridge hört auf dem Nachrichtenbus auf fachliche Befehle und setzt sie in Zitadel um. Dazu gehören unter anderem:

  • Benutzer anlegen, aktivieren, deaktivieren, sperren und entsperren,
  • Rollen zuweisen und entziehen,
  • Passwort-Zurücksetzen anstossen,
  • Einladungen versenden und zurückziehen.

Damit werden Vorgänge aus dem Business-Modul – etwa das Anlegen einer Person mit Login – automatisch zu einer echten Identität in Zitadel.

Umgekehrt bringt die Bridge Ereignisse aus Zitadel zurück in die Plattform. Bevorzugt geschieht das über Webhooks: Zitadel meldet Ereignisse an einen Endpunkt der Bridge, die sie prüft, auf die Nachrichtentypen der Plattform abbildet und auf den Bus veröffentlicht. Alternativ kann die Bridge Ereignisse aktiv abholen. Nicht abgebildete Ereignistypen werden bewusst übersprungen. So erfährt die Plattform von relevanten Vorgängen rund um Benutzer, Einladungen, Rollen und Passwörter.

Die Bridge kann zudem als Relais für identitätsbezogene E-Mails dienen (etwa Einladungen und Passwort-Zurücksetzen), sodass diese Nachrichten über den einheitlichen Weg der Plattform zugestellt werden.

Die ZitadelBridge läuft als eigener Container (.NET 10) und eignet sich besonders als Sidecar neben einer Zitadel-Instanz. Sie stellt einen Health-Check bereit, der die Erreichbarkeit von Zitadel und des Nachrichtenbus prüft, und liefert über ihr Live-Dashboard einen laufenden Überblick über eingehende und ausgehende Vorgänge.

Die Bridge ist das Bindeglied, das zentrale Identität praktikabel macht: Ohne sie müsste Zitadel von Hand eingerichtet und mit der Plattform synchron gehalten werden. Mit ihr genügt eine deklarative Konfiguration – den Rest erledigt die Automatisierung.