Wie Sie OAuth zur Autorisierung verwenden
Kommentare

OAuth im Einsatz: ein Consumer
Als Beispiel für die OAuth-Autorisierung dient die Twitter OAuth Library von Abraham Williams [4]. Laden Sie am besten das komplette Archiv herunter, dann haben Sie außer

OAuth im Einsatz: ein Consumer

Als Beispiel für die OAuth-Autorisierung dient die Twitter OAuth Library von Abraham Williams [4]. Laden Sie am besten das komplette Archiv herunter, dann haben Sie außer den benötigten Dateien twitteroauth.php und OAuth.php auch die Dokumentation und das Originalbeispiel zur Verfügung. Das folgende Beispiel basiert auf dem von Abraham Williams, wurde aber stark vereinfacht. Außer der OAuth Library benötigen Sie die von Twitter erhaltenen Client Credentials:

Den Consumer Key und das Consumer Secret. Das Consumer Secret sollte dabei wirklich ein Secret bleiben. Da Sie es als Klartext benötigen, können Sie nicht wie im Fall von Passwörtern lediglich den Hash-Wert speichern, sondern müssen das Klartext-Secret so gut wie möglich vor unbefugten Zugriffen schützen. Zum Beispiel indem Sie es außerhalb des Webroot-Verzeichnisses speichern, sodass der Webserver keinen Zugriff darauf hat. Zuerst müssen Sie der Anwendung den Consumer Key und das Consumer Secret mitteilen, im Beispiel in einer Konfigurationsdatei mit folgendem Inhalt:

define('CONSUMER_KEY', 'v9LxW2qY2hk6n5XcK2XDw');
define('CONSUMER_SECRET', 'hshM05dLztJRadbbjjwyXfzpIA7exSWigywm1sI');
define('OAUTH_CALLBACK', 'http://www.ceilers-news.de/oauthtest/callback.php');

Die angegebenen Daten sind mit Erscheinen des Magazins unbrauchbar, da die Testanwendung nach dem Schreiben des Texts gelöscht wird. Der Einfachheit halber wird die Konfigurationsdatei im Verzeichnis der Anwendung gespeichert, im produktiven Einsatz könnte so ein Vorgehen aber leicht zur Preisgabe des Secrets führen, zum Beispiel wenn die Konfigurationsdatei über eine Diretory-Traversal-Schwachstelle ausgespäht wird. Die Konfigurationsdatei muss ebenso wie die Datei twitteroauth/twitteroauth.php in den weiteren Skripten eingebunden werden.

Namen sind Schall und Rauch

Vorab ein Hinweis zur Benennung der Parameter: Sowohl die Twitter OAuth Library von Abraham Williams als auch die weiter unten eingesetzte PECL-Erweiterung OAuth verwenden für die Temporary Credentials die Bezeichnung Request Token und für die Token Credentials die Bezeichnung Access Token. Wenn man die Verwendung der Parameter betrachtet, ist das nicht einmal ungeschickt:

Mit dem Request Token wird das Access Token angefordert (=request), und mit dem Access Token erfolgt der Zugriff (=access) auf das Web-API. Hier werden trotzdem weitgehend die Bezeichnungen Temporary Credentials und Token Credentials verwendet, da diese aus dem Standard stammenden Begriffe im ersten Teil des Artikels eingeführt und durchgehend verwendet wurden. Ansonsten müssten Sie beim Vergleich mit der Beschreibung des Standards immer wieder zwischen beiden Varianten wechseln, was im Allgemeinen nicht gerade zum Verständnis beiträgt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -