⊗ppSpAiAu 50 of 83 menu

PHP-da tokenlar orqali avtorizatsiyali API

API-ni ochiq emas, balki yopiq, faqat parol orqali kirish mumkin bo‘lgan qilish mumkin. Bunday holatda, bizning API-mizga murojaat qilganda har bir so‘rovda parametrlar bilan birga to‘g‘ri parolni ham uzatishimiz kerak bo‘ladi. Bunday parol token deb ataladi.

Bizning API-dan foydalanuvchilar ushbu tokenni qandaydir tarzda olishlari kerak. Masalan, uni sotib olishlari mumkin. Bunday holda har bir sotib olganning o‘z tokensi bo‘ladi.

Keling, tokenlar bilan ishlashni misolda ko‘rib chiqaylik. Faraz qilaylik, bizning API parametr sifatida sonni qabul qilsin va shu sonning kvadratini qaytarsin. Keling, ushbu API-ni yopiq qilaylik. Amalga oshirishni boshlaymiz.

Boshlash uchun, soddalik uchun bitta umumiy token yaratamiz va uni ochiq shaklda faylda saqlaymiz:

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

Biz API-ga parametr va tokenni uzatib, shunday murojaat qilamiz:

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

Keling, token tekshiruvi bilan API-ni amalga oshiramiz:

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

Tug‘ilgan kun sanasini parametr sifatida qabul qiladigan va shu sanagacha qancha kun qolganini qaytaradigan API yarating. Token orqali avtorizatsiyani amalga oshiring.

Oldingi vazifani o‘zgartiring, shunday qilinki, ham parametr, ham token POST metodi orqali uzatilsin.

Oldingi vazifani o‘zgartiring, shunday qilinki, token HTTP sarlavhasi X-Token orqali uzatilsin.

Ma'lumotlar bazasida tokenlar saqlanadigan va API-dan har bir foydalanuvchining o‘z tokensi bo‘ladigan qiling.

Har bir API foydalanuvchisi uchun so‘rovlar sonini kundagi 10 taga cheklang.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish