⊗ppSpAiAu 50 of 83 menu

API mit Autorisierung in PHP

Man kann ein API so gestalten, dass es nicht öffentlich, sondern privat ist und nur mit einem Passwort zugänglich. In diesem Fall muss bei jedem Aufruf unseres APIs neben den Parametern auch das richtige Passwort übermittelt werden. Ein solches Passwort wird Token genannt.

Die Nutzer unseres APIs müssen diesen Token auf irgendeine Weise erhalten. Zum Beispiel, indem sie ihn kaufen. In diesem Fall hat jeder Käufer seinen eigenen Token.

Sehen wir uns die Arbeit mit Tokens an einem Beispiel an. Unser API soll eine Zahl als Parameter entgegennehmen und das Quadrat dieser Zahl zurückgeben. Machen wir dieses API privat. Fangen wir mit der Implementierung an.

Der Einfachheit halber machen wir zunächst einen gemeinsamen Token und speichern ihn im Klartext in einer Datei:

<?php $token = '12345'; ?>

So werden wir auf unser API zugreifen, indem wir Parameter und Token übergeben:

http://api.loc/index.php?num=100&token=12345

Implementieren wir das API mit Token-Prüfung:

<?php $token = '12345'; if (isset($_GET['token']) and $_GET['token'] === $token) { if (isset($_GET['num'])) { echo $_GET['num'] ** 2; } else { echo 'error'; } } else { echo 'incorrect token'; } ?>

Erstellen Sie ein API, das als Parameter ein Geburtsdatum entgegennimmt und zurückgibt, wie viele Tage bis zu diesem Datum verbleiben. Implementieren Sie eine Autorisierung per Token.

Modifizieren Sie die vorherige Aufgabe so, dass sowohl der Parameter als auch der Token per POST-Methode übermittelt werden.

Modifizieren Sie die vorherige Aufgabe so, dass der Token über den HTTP-Header X-Token übermittelt wird.

Sorgen Sie dafür, dass die Tokens in einer Datenbank gespeichert werden und jeder API-Nutzer seinen eigenen Token hat.

Begrenzen Sie für jeden API-Nutzer die Anzahl der Anfragen auf 10 pro Tag.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen