API cu autorizare în PHP
Se poate face astfel încât API-ul să fie nu public, ci privat, accesibil doar cu parolă. În acest caz, atunci când accesăm API-ul nostru, în fiecare cerere, pe lângă parametri, va trebui să transmitem parola corectă. Această parolă se numește token.
Utilizatorii API-ului nostru vor trebui să obțină acest token într-un fel. De exemplu, să îl cumpere. În acest caz fiecare cumpărător va avea propriul token.
Să vedem funcționarea cu token-uri cu un exemplu. Să presupunem că API-ul nostru ca parametru primește un număr și returnează pătratul acelui număr. Să facem acest API privat. Să începem implementarea.
Pentru început, pentru simplitate, să facem un token general și să îl stocăm în clar într-un fișier:
<?php
$token = '12345';
?>
Așa ne vom adresa la API-ul nostru, transmițând parametrul și token-ul:
http://api.loc/index.php?num=100&token=12345
Să implementăm API-ul cu verificarea token-ului:
<?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';
}
?>
Creați un API care ca parametru va primi data zilei de naștere și va returna câte zile au rămas până la acea dată. Implementați autorizarea prin token.
Modificați problema anterioară astfel încât atât parametrul, cât și token-ul să fie transmise prin metoda POST.
Modificați problema anterioară astfel încât
token-ul să fie transmis prin antetul HTTP
X-Token.
Faceți astfel încât token-urile să fie stocate într-o bază de date și fiecare utilizator al API-ului să aibă propriul token.
Limitați pentru fiecare utilizator al API-ului
numărul de cereri la 10
pe zi.