⊗ppSpAiAu 50 of 83 menu

API са авторизацијом у PHP

Може се уредити тако да API буде не јавни, већ приватан, доступан само са лозинком. У том случају, приликом приступа нашем API-ју у сваком захтеву, поред параметара, потребно је проследити и тачну лозинку. Такав пасворд се назива токеном.

Корисници нашег API-ја мораће да добију овај токен на неки начин. На пример, да га купе. У том случају сваки купац ће имати свој токен.

Хајде да погледамо рад са токенима на примеру. Нека наш API прима параметар број, а враћа квадрат тог броја. Хајде да направимо овај API приватан. Приступимо имплементацији.

За почетак, ради једноставности, направимо један заједнички токен и чувајмо га у отвореној форми у фајлу:

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

Овако ћемо приступати нашем API-ју, прослеђујући параметар и токен:

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

Имплементирајмо API са провером токена:

<?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'; } ?>

Направите API које ће параметром примати датум рођења и враћати колико дана је остало до тог датума. Направите авторизацију преко токена.

Модификујте претходни задатак тако да се и параметар и токен прослеђују POST методом.

Модификујте претходни задатак тако да се токен прослеђује преко HTTP заглавља X-Token.

Направите тако да се токени чувају у бази података и да сваки корисник API-ја има свој токен.

Ограничите сваком кориснику API-ја број захтева на 10 дневно.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј