API met toekening in PHP
Dit is moontlik om 'n API nie publiek nie, maar geslote te maak, slegs toeganklik met 'n wagwoord. In hierdie geval sal ons, by elke versoek na ons API, behalwe die parameters, ook die korrekte wagwoord moet oordra. Sodanige wagwoord word token genoem.
Gebruikers van ons API sal hierdie token op een of ander manier moet verkry. Byvoorbeeld, deur dit te koop. In hierdie geval sal elke koper sy eie token hê.
Kom ons kyk na die werk met tokens met 'n voorbeeld. Laat ons API 'n parameter aanvaar wat 'n getal is, en die kwadraat van daardie getal terugstuur. Kom ons maak hierdie API geslote. Kom ons begin met die implementering.
Om mee te begin, laat ons vir eenvoud een algemene token maak en dit in oop vorm stoor in 'n lêer:
<?php
$token = '12345';
?>
So sal ons na ons API verwys, deur die parameter en token oor te dra:
http://api.loc/index.php?num=100&token=12345
Kom ons implementeer die API met tokenverifikasie:
<?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 'n API wat as parameter die datum van 'n verjaardag sal aanvaar en sal terugstuur hoeveel dae oorbly tot daardie datum. Voeg toekening by deur middel van 'n token.
Wysig die vorige taak sodat sowel die parameter as die token oorgedra word met die POST-metode.
Wysig die vorige taak sodat
die token oorgedra word deur die HTTP
kop X-Token.
Sorg daarvoor dat tokens gestoor word in 'n databasis en dat elke gebruiker van die API sy eie token het.
Beperk vir elke API-gebruiker
die aantal versoeke tot 10
per dag.