PHP में प्रमाणीकरण के साथ API

ऐसा करना संभव है कि API सार्वजनिक न हो, बल्कि निजी हो, जिस तक पहुंच केवल पासवर्ड द्वारा ही हो। इस मामले में, हमारे API से संपर्क करते समय, प्रत्येक अनुरोध में पैरामीटरों के अलावा सही पासवर्ड भेजना आवश्यक होगा। ऐसे पासवर्ड को टोकन कहा जाता है।

हमारे API के उपयोगकर्ताओं को यह टोकन किसी तरह प्राप्त करना होगा। उदाहरण के लिए, इसे खरीकर। इस मामले में हर खरीदने वाले का अपना टोकन होगा।

आइए एक उदाहरण के साथ टोकन के साथ काम देखें। मान लीजिए कि हमारा API एक पैरामीटर के रूप में एक नंबर स्वीकार करता है, और वापस उस नंबर का वर्ग देता है। आइए इस API को निजी बनाएं। आइए कार्यान्वयन शुरू करें।

शुरुआत में, सादगी के लिए एक सामान्य टोकन बनाएं और इसे खुले रूप में एक फ़ाइल में संग्रहीत करें:

api.loc/index.php<?php
  $token = '12345';
?>

इस तरह हम अपने API से संपर्क करेंगे, पैरामीटर और टोकन पास करके:

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

आइए टोकन जांच के साथ API लागू करें:

api.loc/index.php<?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';
  }
  
?>
Задание 1

एक API बनाएं, जो पैरामीटर के रूप में जन्मदिन की तारीख स्वीकार करेगा और वापस करेगा कि उस तारीख तक कितने दिन शेष हैं। टोकन द्वारा प्रमाणीकरण करें।

Задание 2

पिछले कार्य को इस तरह संशोधित करें, कि पैरामीटर और टोकन दोनों POST विधि द्वारा पारित किए जाएं।

Задание 3

पिछले कार्य को इस तरह संशोधित करें, कि टोकन HTTP हैडर X-Token के माध्यम से पारित किया जाए।

Задание 4

ऐसा करें कि टोकन डेटाबेस में संग्रहीत हों और API के प्रत्येक उपयोगकर्ता का अपना टोकन हो।

Задание 5

प्रत्येक API उपयोगकर्ता के लिए अनुरोधों की संख्या प्रति दिन 10 तक सीमित करें।