OAuth – online authentication – am Beispiel Twitter

oAuth, welches für online Authentication steht, ist ein beliebtes online Anmeldeverfahren welches verhindert, dass Passwörter an dritte Übermittelt wird. So kann man sich auf einer externen Seite oder App für beispielsweise Twitter anmelden, ohne dass der App Anbieter das eigentliche Passwort speichern kann.

oAuth-Verfahren

oAuth grafisch aufgearbeitet

Facebook, Google+ und Twitter nutzen das oAuth-Verfahren. Es bereitete mir graue Haare, depressive Stimmung und Kopfzerbrechen. Als ich es dann durchblickt habe, war es mir klar und es macht von Anfang an Sinn. Hätte ich mich vorher genau informiert, hätte ich mir eine Menge Arbeit sparen können. Daher soll es diesen Beitrag geben, der wenigstens noch ein bisschen Mehrwert darstellt.

Im Groben dreht sich oAuth darum, dass Apps, Programme und Webseiten – mit der Erlaubnis des Benutzers – auf den Account zugreifen können ohne dass das eigentliche Passwort preisgegeben werden muss.

Token, wieder ein Token und noch ein Token

Das oAuth-Verfahren funktioniert mit sogenannten Token, diese Stellen die Kommunikation zwischen bspw. Twitter und der eigentlichen App dar. Hat sich der eigentliche Ersteller der App bei Twitter-Developer registriert bekommt er ein permanenten öffentlichen und einen Sicherheitsschlüssel.  Mit diesen kann das oAuth-Verfahren starten.

Zuerst holt sich die App, über einen Request (Anfrage), einen App-Token (nicht zu verwechseln mit den permanenten Schlüsseln). Anschließend fragt man mit diesem Token bei Twitter nach einer URL zum authentifizieren. Folgt man der URL fragt Twitter nach einem Login und ob die zuvor registrierte App diesen Account zugreifen darf.

Wird die Erlaubnis erteilt sieht oAuth vor, dass zurück zur eigentlichen Anwendung geleitet wird. Dabei wird ein Verify-Token mit übergeben. Dieses ist für einen kurzen Zeitraum gültig und bestätigt die erteilte Erlaubnis.

[ContentAd]

Wiederrum mit diesem Verify-Token kann man nach dem eigentlichen Access-Token bei Twitter anfragen. Ist das Abgleichtoken korrekt und wurde in der zulässigen Zeitspanne übermittelt, schickt Twitter die Userid, Usernamen, Access- und Sicherheits-Token zurück. Die jetzt erhaltenen Token sind permanente die von der App selber gespeichert werden können und somit Zugriff auf den eigentlichen Account geben.

Fazit

Vorerst kompliziert zu verstehen und zu implementieren, aber im Nachhinein absolut sinnvoll!

MrKnowing

Programmierer und Wissensnerd! Kontaktiere mich auf Google+ oder einfach per Mail danny@mrknowing.com

Das könnte dich auch interessieren …

Eine Antwort

  1. 26. April 2014

    […] nächsten Tagen möchte ich zeigen wie man eine Twittertimeline abruft, für die man sich zuvor mit oAuth registriert hat und somit einen sicheren Umgang mit den abgerufenen Daten pflegen […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert