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 ක සීමාවක් පනවන්න.