Das Single Sign-on Bundle von Blackbit ist ab Version 2 mit der Pimcore Studio UI kompatibel. Benutzerverwaltung und Login bleiben dort, wo sie hingehören: beim zentralen Authentifizierungsanbieter.
Unternehmen betreiben ihre Benutzerverwaltung selten in Isolation. Microsoft Active Directory, ein unternehmensweiter SAML-Verbund oder ein zentraler LDAP-Server sind in gewachsenen IT-Landschaften der Standard – und der Ausgangspunkt, von dem aus Pimcore angebunden werden muss. Pimcore bietet zwar eine eigene SSO-Funktion auf Basis von OpenID Connect, diese setzt jedoch eine Enterprise-Subscription voraus und deckt LDAP und SAML nicht ab.
Das Blackbit SSO Bundle schließt diese Lücke: Es unterstützt alle drei Protokolle und ist für Installationen ab Pimcore 10 verfügbar – unabhängig von der Lizenzform. Wer mehrere Nutzergruppen mit unterschiedlichen Providern verwaltet, etwa ein internes Team über Active Directory und eine externe Agentur über einen separaten OpenID-Anbieter, kann beides parallel betreiben.
Neu ist die Unterstützung der Studio UI, die klassische Oberfläche wird weiterhin unterstützt. Der Funktionsumfang ist in beiden Oberflächen derselbe. Getestet ist das Bundle ab Pimcore 10, ältere Versionen nicht. Die Studio UI steht ab Pimcore 12 zur Verfügung.
Das Bundle bringt Single Sign-on in das Pimcore-Backend und auf Pimcore-basierte Websites. Zugangsdaten und Rollenzuweisung werden beim externen Authentifizierungsanbieter gepflegt, nicht in Pimcore. Das hat praktische Folgen. Pimcore-Konten müssen nicht mehr manuell angelegt werden. Verlässt jemand das Unternehmen, sperrt die Administration alle Logins an einer Stelle. Und Nutzerinnen und Nutzer merken sich ein Passwort statt vieler.
Das Bundle unterstützt OpenID Connect, SAML und LDAP. Über OpenID Connect lassen sich unter anderem Microsoft Entra ID (ehemals Azure Active Directory), Auth0, Google, Okta und Keycloak anbinden. Das Bundle enthält eine ausführliche Anleitung, wie die Anwendung beim Anbieter eingerichtet wird und wo die nötigen Schlüssel in Pimcore eingetragen werden.
Mehrere Anbieter parallel sind möglich. Das ist hilfreich, wenn interne Teams einen anderen Anbieter nutzen als etwa eine externe Agentur. Für Anbieter mit OpenID Connect oder SAML erscheint auf der Login-Seite jeweils ein eigener Button. LDAP nutzt dagegen das normale Login-Formular und prüft die eingegebenen Zugangsdaten gegen den LDAP-Server.
Ein Klick auf den SSO-Button leitet zum Authentifizierungsanbieter weiter. Nach der Anmeldung dort geht es zurück zu Pimcore, bereits eingeloggt. Im Hintergrund entsteht ein regulärer Pimcore-Benutzer mit den Daten des Anbieters, etwa Benutzername und E-Mail-Adresse. Alle Pimcore-Funktionen arbeiten mit diesem Konto genauso wie mit einem manuell angelegten.
Ein Anbieter lässt sich als Standard festlegen. Dann führt der Aufruf des Pimcore-Backends direkt zur Anmeldeseite dieses Anbieters.
Die Felder des Anbieters lassen sich auf das Pimcore-Benutzerkonto mappen. So bleibt zum Beispiel die E-Mail-Adresse aktuell. Gruppen aus dem Authentifizierungssystem werden auf Wunsch als Pimcore-Rollen zugewiesen. Existiert eine Rolle noch nicht, legt das Bundle sie an, zunächst ohne Berechtigungen.
Zusätzlich gibt es Standardrollen je Anbieter. Sie gelten nur für neu angelegte Benutzer, nicht für bestehende Konten.
Nach jedem erfolgreichen Login löst das Bundle das Event sso.logged-in aus. Es liefert den Pimcore-Benutzer, alle Daten des Anbieters und den Namen des verwendeten Providers. Eigene Logik lässt sich hier einhängen.
Für Websites stehen Login-Buttons als Twig-Code bereit. Die Ausgabe ist als HTML oder JSON möglich, das Template lässt sich überschreiben. Nach dem Login leitet das Bundle auf eine frei wählbare URL weiter oder zurück zur aufgerufenen Seite. Login-Prüfung und Logout im eigenen Controller erledigt ein mitgelieferter Trait.
Beim Umstieg von Version 1 kommt es vor allem auf die Konfiguration an. In der Studio UI liegt sie unter Settings > System > Users & Roles > Single Sign-on. Damit der Login über die Studio UI funktioniert, braucht die Datei config/packages/security.yaml zusätzlich eine Zugriffsregel. Alle Schritte beschreibt die Konfigurationsanleitung für die Studio UI auf GitHub.
Kunden mit aktivem Bitbucket-Zugriff können Version 2 direkt herunterladen.
Das Bundle ist erhältlich im Pimcore Store sowie direkt bei uns im Blackbit Shop.
Bei Fragen zur Konfiguration oder zum Lizenzmodell: help@blackbit.de