API autentimisega PHP-s
Võimalik on teha API mitte avalikuks, vaid privaatseks, ligipääsetavaks ainult parooli abil. Sel juhul tuleb meie API-le pöördumisel igas päringus lisaks parameetritele edastada õige parool. Sellist parooli nimetatakse tokeniks.
Meie API kasutajad peavad selle tokeni kuidagi saama. Näiteks ostma selle. Sel juhul on igal ostjal oma token.
Vaatame tokenitega töötamist näite varal. Oletame, et meie API võtab parameetrina numbri ja tagastab selle numbri ruudu. Teeme selle API privaatseks. Asume rakendamise kallale.
Alustuseks lihtsuse mõttes teeme ühe üldise tokeni ja hoiame seda avatud kujul failis:
<?php
$token = '12345';
?>
Nii me pöördume oma API poole, edastades parameetri ja tokeni:
http://api.loc/index.php?num=100&token=12345
Rakendame API tokeni kontrolliga:
<?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';
}
?>
Tehke API, mis võtab parameetrina sünnipäeva kuupäeva ja tagastab mitu päeva on selleni jäänud. Tehke autentimine tokeni abil.
Muutke eelmist ülesannet nii, et nii parameeter kui token edastataks POST meetodil.
Muutke eelmist ülesannet nii,
et token edastataks läbi HTTP
päise X-Token.
Tehke nii, et tokenid hoitaks andmebaasis ja igal API kasutajal oleks oma token.
Piirake igale API kasutajale
päringute arvu 10
päevas.