PHP-তে টোকেনের মাধ্যমে অথোরাইজেশন সহ API
এটি এমনভাবে তৈরি করা সম্ভব যাতে 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-এ সীমিত করুন।