SSO-Anbindung mittels Keycloak für TYPO3 und Magento

Die AAP Lehrerwelt GmbH, der Betreiber einer Plattform für Unterrichtsmaterialien für Lehrer, möchte ihren Kunden den möglichst einfachen, nahtlosen Zugang zu den verschiedenen Online-Angeboten ermöglichen. Netresearch übernahm hier als TYPO3-Agentur den Auftrag, eine Single-Sign-On-Lösung (SSO) zu konzipieren und für verschiedene Kundensysteme wie TYPO3 und Magento zu implementieren.

Warum eine Single Sign-On-Lösung für Lehrerwelt?

Bei einem SSO-Service meldet sich der User einmalig an, die Authentifizierung des Users ist also nach kurzer einmaliger Anmeldung erledigt. Danach hat er Zugriff auf unterschiedliche Applikationen, Services und Dienste. Das steigert die Benutzerfreundlichkeit der jeweiligen Portale und Services - im Falle der Lehrerwelt: eine Downloadplattform, der digitale Schreibtisch sowie Shops für die Bestellung von physischen Unterrichtsmaterialien.

Umsetzung mit der Community Extension “OpenID Connect Authentication”

Für die Integration in das TYPO3-CMS unseres Kunden wurde die TYPO3-Extension “OpenID Connect Authentication” genutzt, die als Basis für die Funktionen Login und Authentifizierung gegen einen OpenID-Server dient. Zur exakten Identifizierung des jeweiligen Frontend-Users wurde dessen User-Profil um die jeweilige ID des OpenID-Servers erweitert.

Im laufenden Betrieb der Plattform ist es wichtig, unterscheiden zu können, ob es sich um neue User oder bereits authentifizierte und damit bekannte User handelt. Damit für die verschiedenen User-Gruppen jeweils unterschiedliche Landingpages ausgespielt werden können, ist zunächst die Zuordung bestimmter User zu Gruppen erforderlich. Dies wird erreicht durch die Kombination des SSO-Services mit einer passenden Konfiguration der Custom-Extension "Frontend-User". Hier lassen sich die User nach Authentifizierung jeweils automatisiert einer bestimmten Gruppe zuordnen. Weitere User-Gruppen, die ggf. im TYPO3 genutzt werden und nicht mit der Authentifizierung in Verbindung stehen, bleiben von dieser Zuordnung unberührt.

Nutzung der Keycloak-API

Nutzerdaten wie Name oder E-Mail-Adresse, die von den Usern der Lehrerwelt-Services geändert werden können, sollten zentral im Keycloak in Echtzeit synchron gehalten werden. Mit einer von Netresearch entwickelten TYPO3-Extension wird deshalb die Verbindung zur Keycloak-API geschaffen. Dazu wird der Keycloak-API-Client von Mohammad Waleed verwendet. Diese Lösung bietet auch Raum für zukünftige Erweiterungen, wenn weitere Nutzerdaten zentral im Keycloak vorgehalten werden sollen.

Gute Dienste leistete die Keycloak-API auch bei der initialen Befüllung des Systems vor dem Livegang. Hier war der Transfer von mehreren 100.000 Userdaten jeweils mit unterschiedlicher Datenstruktur aus Magento und TYPO3 erforderlich. Dazu wurde ein Python-Script genutzt, das Keycloak mit den Dumps der beiden Nutzertabellen befüllen konnte.

Fazit der SSO-Integration mit Keycloak

Würden wir noch einmal TYPO3 mit Keycloak integrieren? Und konnten wir die Problemstellung des Kunden lösen? Ja, das war eine gute Erfahrung, auch wenn es inzwischen durchaus Alternativen gibt. Neben vielen Vorteilen bringt Keycloak auch gewisse Anforderungen mit, da es in Java geschrieben ist. Die Template Engine und die verwendete Template Sprache FreeMaker bieten einige Herausforderungen, da Tests und Fehlerbehebungen aus Entwicklersicht vergleichsweise schwierig waren. In diesem Projekt mit Keycloak konnten wir unser Expertenwissen aber deutlich ausbauen. Beim Kunden Lehrerwelt konnte mit der Keycloak-SSO-Lösung der moderne Industriestandard in diesem Bereich umgesetzt werden. Mit diesem Schritt ist die AAP Lehrerwelt GmbH zugleich hervorragend aufgestellt, um zukünftig weitere Systeme anbinden zu können.

 


Sie möchten mehr zum Thema Single-Sign-On wissen? Dann lernen Sie uns kennen und buchen noch heute einen Gesprächstermin bei unserem TYPO3-Experten.

Artikel teilen:

Newsletter abonnieren

 kostenlos & unverbindlich
 B2B-Commerce- & TYPO3-Themen
 IT- und branchenrelevante News

Neueste Beiträge

Neujahrs-Glühen 2023 bei Netresearch im Hof

Von Caroline Kuhn

Netresearch Neujahrs-Glühen 2023 mit unseren Kunden & Partnern

Wir haben am 23.01. ab 16 Uhr das neue Jahr wieder traditionell mit unserem Neujahrs-Glühen mit…

Weiterlesen
Prinux OroCommerce 5.0
Von Caroline Kuhn
B2B-Shop: OroCommerce 5.0 für prinux GmbH

Die Online-Druckerei prinux GmbH setzt auf die B2B-Shop-Software OroCommerce und löst ihre…

Weiterlesen
B2B-Surfcamp Mai 2023: Biscarrosse, französische Atlantikküste
Von Caroline Kuhn
22.-26. Mai 2023: B2B-Surfcamp an der französischen Atlantikküste

Wir haben genug von langweiligen Konferenzen, monotonem Networking und kommerziellen…

Weiterlesen
20 Jahre AIDA: TYPO3-Highlights aus 20 Jahren
Von Caroline Kuhn
Netresearch und AIDA: Unsere Projekt-Highlights aus 20 Jahren

Das Kreuzfahrtunternehmen AIDA Cruises zählt seit 2002 zu unseren wichtigsten Kunden. Wir bedanken…

Weiterlesen