API z avtorizacijo v PHP
Lahko naredimo tako, da je API ne javen, ampak zaseben, dostopen samo z geslom. V tem primeru bomo morali pri dostopu do našega API-ja v vsakem poizvedovi poleg parametrov predati tudi pravilno geslo. Tako geslo imenujemo žeton.
Uporabniki našega API-ja bodo morali pridobiti ta žeton na nek način. Na primer, ga kupiti. V tem primeru bo vsak kupec imel svoj žeton.
Poglejmo si delo z žetoni na primeru. Naj naš API s parametrom sprejme število in vrne kvadrat tega števila. Naredimo ta API zaseben. Nadaljujmo z izvedbo.
Za začetek za enostavnost naredimo en skupni žeton in ga hranimo v odprti obliki v datoteki:
<?php
$token = '12345';
?>
Tako se bomo obrnili na naš API, pri čemer posredujemo parameter in žeton:
http://api.loc/index.php?num=100&token=12345
Implementirajmo API s preverjanjem žetona:
<?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';
}
?>
Naredite API, ki bo s parametrom sprejelo datum rojstnega dne in vrnilo koliko dni je še do tega datuma. Naredite avtorizacijo prek žetona.
Spremenite prejšnjo nalogo tako, da se tako parameter kot žeton posredujeta z metodo POST.
Spremenite prejšnjo nalogo tako,
da se žeton posreduje prek HTTP
glave X-Token.
Naredite tako, da se žetoni hranijo v podatkovni bazi in ima vsak uporabnik API-ja svoj žeton.
Omejite vsakemu uporabniku API-ja
število zahtevkov na 10
dnevno.