⊗ppSpAiAu 50 of 83 menu

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.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge