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.
Der OXID eShop sowie die CMS-Seite des Kundens treten im Rahmen dieses Projektes jeweils als Service-Provider auf und interagieren mittels des Identitäts-Providers. 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 Storetype 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 ausschließlich 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. Außer 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.