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
на ден.