⊗ppSpAiAu 50 of 83 menu

API con autorizzazione in PHP

È possibile fare in modo che l'API non sia pubblica, ma privata, accessibile solo con password. In questo caso, quando si accede alla nostra API, in ogni richiesta, oltre ai parametri, dovrà essere trasmessa la password corretta. Questa password è chiamata token.

Gli utenti della nostra API dovranno ottenere questo token in qualche modo. Ad esempio, acquistandolo. In questo caso ogni acquirente avrà il proprio token.

Vediamo il funzionamento con i token con un esempio. Supponiamo che la nostra API accetti un numero come parametro e restituisca il quadrato di quel numero. Rendiamo questa API privata. Iniziamo l'implementazione.

Per cominciare, per semplicità, creiamo un token generale comune e memorizziamolo in chiaro in un file:

<?php $token = '12345'; ?>

Ecco come accederemo alla nostra API, trasmettendo il parametro e il token:

http://api.loc/index.php?num=100&token=12345

Implementiamo l'API con il controllo del token:

<?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 un'API che accetti come parametro la data di compleanno e restituisca il numero di giorni mancanti a quella data. Implementa l'autorizzazione tramite token.

Modifica l'attività precedente in modo che sia il parametro che il token vengano trasmessi con il metodo POST.

Modifica l'attività precedente in modo che il token venga trasmesso tramite l'header HTTP X-Token.

Fai in modo che i token siano memorizzati in un database e che ogni utente dell'API abbia il proprio token.

Limita per ogni utente dell'API il numero di richieste a 10 al giorno.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta