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-ზე
მოთხოვნების რაოდენობა 10-მდე
დღეში.