⊗ppSpAiAu 50 of 83 menu

API met authenticatie in PHP

Het is mogelijk om een API niet openbaar, maar privé te maken, alleen toegankelijk met een wachtwoord. In dat geval moet bij elke aanvraag aan onze API, naast de parameters, het juiste wachtwoord worden meegestuurd. Zo'n wachtwoord wordt een token genoemd.

Gebruikers van onze API moeten dit token op de een of andere manier verkrijgen. Bijvoorbeeld, door het te kopen. In dat geval heeft iedereen die het koopt zijn eigen token.

Laten we de werking met tokens bekijken aan de hand van een voorbeeld. Stel dat onze API een getal als parameter accepteert, en het kwadraat van dat getal teruggeeft. Laten we deze API privé maken. Laten we beginnen met de implementatie.

Laten we om te beginnen voor de eenvoud één algemeen token maken en dit in leesbare vorm opslaan in een bestand:

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

Zo zullen we contact opnemen met onze API, door de parameter en het token mee te sturen:

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

Laten we de API implementeren met tokencontrole:

<?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'; } ?>

Maak een API dat als parameter een verjaardagsdatum accepteert en teruggeeft hoeveel dagen er nog over zijn tot die datum. Implementeer authenticatie via een token.

Pas de vorige opdracht zo aan, dat zowel de parameter als het token worden meegestuurd via de POST-methode.

Pas de vorige opdracht zo aan, dat het token wordt meegestuurd via de HTTP header X-Token.

Zorg ervoor dat tokens worden opgeslagen in een database en dat elke API-gebruiker zijn eigen token heeft.

Beperk voor elke API-gebruiker het aantal verzoeken tot 10 per dag.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren