Lorem Ipsum

Facebook-Connect in Magento-Shops

Seit Dezember 2008 bietet Facebook eine interessante Lösung für den Login-Prozess auf Internetseiten an. Dabei können User mittels des Facebook-Connect-Buttons sich mit einem Klick auf Seiten registrieren bzw. einloggen.
Da Magento auch einen Checkout-Prozess mit einem User-Login anbietet, lag es nahe eine Facebook-Connect Lösung auch für Shops zu implementieren.

Um Facebook connect realisieren zu können, muss man vorab den technischen Ablauf verstehen: Im Grunde befindet sich zwischen der eigenen Seite und Facebook als Schnittstelle im Login-Prozess der Access-Token. Dieser wird von Facebook zurückgegeben, wenn dort die Authorisierung der entsprechenden Seite erfolgt ist. Da die Intentität des Users durch sein Login bei Facebook bestätigt ist, kann mittels des Tokens die UserID von Facebook abgefragt werden, und anstatt eines User-Passwort Tupels für den Login auf unserer Seite benutzt werden.

Um einen gültigen Access-Token zu bekommen muss der User natürlich bestätigen, dass er der jeweiligen Seite seine ID und optional weitere Informationen zur Verfügung stellen will. Facebook identifiziert die Seite über eine vom Seitenbetreiber erstellte Facebook-App. Diese hat insofern keinen spannenden Inhalt da sie ausschließlich speichert, welche Informationen des Users abgefragt werden sollen, und welche Seite dafür gültig sein soll.

Facebook-Connect
Facebook-Connect

Beim Klicken auf den Facebook-Connect-Button wird der User um Bestätigung aufgefordert, die entsprechende Anwendung (die auf unsere Seite weiterleitet) mit den entsprechenden Rechten (Lesen von Posts, Bildern, schreiben von Posts, etc.) zu authorisieren. Ist die Authorisierung erfolgt wird der User auf die angegebene Landing-Page weitergeleitet. Mit dem nun erhalteten Access-Token kann die Seite einen Registrierungs- bzw. Login Prozess durchführen. In unserem Falle speichern wir Magento-User-Ids und Facebook Ids in einer Tabelle und können mittels LoginById() – Methode des Session-Models einen Login durchführen, sobald eine gültige Facebook-Id zurückkommt.
Sobald der Facebook-User einmal die Anwendung authorisiert hat, wird dieser Schritt übersprungen, wodurch ein One-Click-Login möglich ist.

Die Grundmotivation für den Einbau von Facebook-Connect in unseren Shop war es neben der generellen Connect-Idee, die kurz zuvor von Facebook gestartete Freigabe von Adressen und Telefonnummern der User zu nutzen. Dies wäre insofern praktisch gewesen, dass dem Magento-User eine Registrierung mit notwendiger Adresseingabe erspart geblieben wäre, da diese direkt von seinem Facebook-Account gelesen worden wären. Leider wurde die Bekanntgabe von Facebook von manchen Medien falsch aufgefasst und als weiterer drastische Einbuße von Datenschutz interpretiert, wodurch sich Facebook gezwungen sah, diese beiden User-Informations-Freigaben wieder zu deaktivieren. Dadurch konnten wir dem User die Dateneingabe im Registrationsprozess nicht abnehmen, jedoch bleibt noch immer der Vorteil des schnellen einloggen und registrierens.
Auch ein Verschmelzen von bereits existierenden Magento-Accounts wurde implementiert. Der User kann im Nachhinein seinen Account mit Facebook-Connect verbinden.





Anfrage

Wir freuen uns auf Ihre Herausforderung.

0316 22 88 42

8:00 - 16:30