API sa autorizacijom u PHP-u
Može se napraviti tako da API bude ne javan, već privatan, dostupan samo sa lozinkom. U ovom slučaju, prilikom pozivanja našeg API-ja, u svakom zahtevu pored parametara trebaće da prosledite i ispravnu lozinku. Takva lozinka se zove token.
Korisnici našeg API-ja će morati da dobiju ovaj token na neki način. Na primer, da ga kupe. U ovom slučaju svaki kupac će imati svoj token.
Hajde da pogledamo rad sa tokenima na primeru. Neka naš API parametrom prima broj, a vraća kvadrat tog broja. Hajde da napravimo ovaj API privatnim. Počnimo sa realizacijom.
Za početak, radi jednostavnosti, napravimo jedan zajednički token i sačuvajmo ga u otvorenom obliku u fajlu:
<?php
$token = '12345';
?>
Ovako ćemo pristupati našem API-ju, prosledjujući parametar i token:
http://api.loc/index.php?num=100&token=12345
Implementirajmo API sa proverom tokena:
<?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';
}
?>
Napravite API koje će parametrom primatiti datum rođendana i vraćati koliko dana je ostalo do tog datuma. Implementirajte autorizaciju putem tokena.
Modifikujte prethodni zadatak tako, da i parametar, i token budu prosleđeni POST metodom.
Modifikujte prethodni zadatak tako,
da se token prosleđuje putem HTTP
zaglavlja X-Token.
Uredite tako da se tokeni čuvaju u bazi podataka i da svaki korisnik API-ja ima svoj token.
Ograničite svakom korisniku API-ja
broj zahteva na 10
dnevno.