PHP-de awtorizasiýaly API
API-ni elýeterli däl-de, diňe parol bilen girip bolýan ýapyk etmek mümkin. Bu ýagdaýda, biziň API-miza her bir soragda parametrler bilen birlikde dogry paroly hem ibermeli. Beýle parola token diýilýär.
Biziň API ulanyjylary bu tokeni nädiren bir ýollary bilen almaly. Mysal üçin, ony satyn almaly. Bu ýagda her bir satyn alanyň öz tokeni bolar.
Geliň mysal üstünde tokenlar bilen işlemegi göreli. Biziň API-miz parametr hökmünde san alyp, şol sanyň kwadratyny yzyna gaýtarsyn. Bu API-ni ýapyk edeli. Amala aşyrmaga başlalyň.
Başlangyç üçin, ýönekeýlik üçin bir umumy token edeli we ony faýlda açyk görnüşde saklaýaly:
<?php
$token = '12345';
?>
Parametri we tokeni iberip, biziň API-miza şeýle mülakat ederis:
http://api.loc/index.php?num=100&token=12345
Tokeni barlap API amala aşyryň:
<?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';
}
?>
Parametr hökmünde doglan gününiň senesini alyp, şol senä çenli näçe gün galýandygyny yzyna gaýtaryjy API düzüň. Token arkaly awtorizasiýa ediň.
Öňki meseläni parametriň we tokeniň POST usuly bilen iberilýändigi ýaly üýtgediň.
Öňki meseläni tokeniň HTTP sözbaşy X-Token arkaly iberilýändigi ýaly üýtgediň.
Tokenleri maglumatlar bazasynda saklanyp, her bir API ulanyjysynyň öz tokeni bolýandygyny ýerine ýetiriň.
Her bir API ulanyjysyna günde 10 sorag çenli çäklendiriň.