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
дар як рӯз маҳдуд кунед.