Single Sign On – Einmalige Authentifizierung für den OXID eShop

Single Sign On – diese Authentifizierungsmethode ist nicht neu. Unternehmen wie Google machen es bereits vor und ermöglichen es Usern, sich einmalig anzumelden und nahtlos zwischen Lösungen wie Gmail, Google+ und Youtube zu wechseln – ohne erneute Passwortabfrage. Spätestens seitdem Google & Co. diesen Trend setzten, erwarten Internetnutzer, dass andere Anbieter gleichziehen und einen nahtlosen Wechsel zwischen unternehmenszugehörigen Webpräsenzen ermöglichen.

Einsatz von Single Sign On im Rahmen eines Kundenprojektes

Im Rahmen eines Kundenprojektes erfolgte nicht nur der Wechsel von dem Shopsystem Magento zum OXID eShop, sondern auch des zusätzlichen Händlerbereichs von Typo3 zu SIX CMS. Zwei Systeme, zwei getrennte Datenbanken für Nutzerdaten und damit zwei getrennte Passwörter. Kunden konnten nicht flüssig zwischen Fachhändlershop und Händlerportal wechseln.
Zusammen mit der Firma Pixelproduzenten setzte die ESYON im Rahmen eines eCommerce-Projektes das SingleSignOn um. Unabhängig bei welchem System der Kunde sich anmeldet, sollte er sowohl den Shop als auch das CMS direkt nutzen und zwischen beiden Systemen nahtlos wechseln können.

Umsetzung von Single Sign On mit OXID eShop und SIX CMS

Die grundlegende Verbindung beider Systeme mit Single Sign On war der erste und wichtigste Meilenstein dieses Teilprojektes. Durch die Anpassung der Login-Designs beider Systeme für ein einheitliches Erscheinungsbild sowie der Sicherung/Persistenz des Warenkorbs beim Wechsel von Shop zu CMS erhielt die Single Sign On-Lösung für den OXID eShop seinen Feinschliff.

Für die Entwicklung diente SimpleSAMLphp (OpenSource) als Basis. Da SimpleSAMLphp Exceptions mitunter nicht die gewünschten Ergebnisse lieferte, ergänzte das Chrome-Plugin SAML Chrome Panel die Lösung und unterstützte die visuelle Darstellung von SAML Requests sowie Responses in den Developer Tools.

 

 

Schema Single Sign On

Umgesetztes Schema Single Sign On

 

Der OXID eShop sowie die CMS-Seite des Kundens treten im Rahmen dieses Projektes jeweils als Service-Provider auf und interagieren mittels dem Identitäts-Provider. Für den Einsatz von SimpleSAML wird PHP vorausgesetzt, womit alle beteiligten Instanzen mit PHP-Sessions arbeiten. Bedingt durch den Betrieb beider Service-Provider auf dem gleichen Host, entstanden Session-Konflikte zwischen SimpleSAML und den Service-Providern. Ein zuverlässiger Einsatz beider Instanzen mit PHP-Sessions war erst durch eine Umstellung des Store Type auf Memcache möglich. Seither laufen beide Systeme fehlerfrei und stabil.

Die Accountdaten, welche bei der Authentifizierung am Identitäts-Provider abgefragt werden, befinden sich ausschliesslich in der Datenbank des eShops und werden auch nur hier gepflegt. Ein eigener Datenstamm an Accountdaten befindet sich nur im Shop, nicht am CMS oder dem Identitäts-Provider. Ausser Kundennummer und Benutzergruppen waren bei diesem Projekt keine weiteren Payloads erforderlich. Die im OXID eShop verarbeiteten Stammdaten werden im ERP-System Microsoft Dynamics AX gepflegt und u.a. für die Anwendung der Single Sign On Authentifizierung bereitgestellt.

Single Sign On im laufenden Betrieb des OXID eShops

Durch die Nutzung von PHP als Basis für die Entwicklung und den Betrieb, ist diese Lösung flexibel einsetzbar bzw. erweiterbar. Auch andere php-basierende CMS-System wie beispielsweise WordPress können mit Single Sign On für einen deutlichen Kundenmehrwert sorgen und eine flexible Arbeit mit unterschiedlichen Webpräsenzen ermöglichen.

Mit Single Sign On kann ein deutlicher Sicherheitsgewinn generiert werden. Passwörter werden nur einmalig übertragen, Nutzerdaten müssen nur einmalig gepflegt werden und Phishing-Attacken werden deutlich erschwert. Zudem werden sicherere Passwörter vergeben, da es nicht mehr notwendig ist, sich eine Vielzahl meist unsicherer Passwörter zu merken.