နိဒါန်း
ယနေ့ဒီဂျစ်တယ်ခေတ်တွင် application programming interfaces (APIS) သည်ခေတ်မီအက်ပလီကေးရှင်းများနှင့် 0 န်ဆောင်မှုများကိုတည်ဆောက်ရန်အလွန်အရေးကြီးသည်။ APIs သည်အခြားအပလီကေးရှင်းများကိုတစ် ဦး နှင့်တစ် ဦး ဆက်သွယ်ခြင်းနှင့်မျှဝေရန်ကွဲပြားခြားနားသော application များကိုဖွင့ ်. ဒစ်ဂျစ်တယ်ဂေဟစနစ်၏အခြေခံဖြစ်လာသည်။ သို့သော် APIs ၏လူကြိုက်များမှုကြောင့်သူတို့၏လုံခြုံရေးပြ issues နာများသည် ပို. လေးနက်လာသည်။ APIs ကိုခွင့်ပြုချက်မရှိသောလက်လှမ်းမီမှုမှကာကွယ်ရန် Oauth protocol ကိုကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။ Oauth သည် API acception ကိုအတည်ပြုပြီးထိန်းချုပ်မှုများကိုအတည်ပြုပြီးထိန်းချုပ်ခြင်းကိုထိန်းချုပ်ရန်နှင့်ထိန်းချုပ်ခြင်းအားဖြင့်လုံခြုံရေးနှင့်သုံးစွဲသူ privacy ကိုကာကွယ်ခြင်းကိုထိန်းချုပ်သည်။
Oauth မှနိဒါန်း
Oauth သည် Twitter မှတီထွင်ခဲ့ပြီး 2007 ခုနှစ်တွင်ပထမဆုံးထုတ်ဝေခဲ့သည်။ ၎င်းသည် Third-party applications များနှင့် 0 န်ဆောင်မှုများအကြားအထိခိုက်မခံသောအချက်အလက်များကိုမျှဝေရန်အသုံးပြုသူများအတွက်လုံခြုံသောယန္တရားတစ်ခုပေးသည်။ Oauth သည်တတိယပါတီများသို့စကားဝှက်များကိုတိုက်ရိုက်မပေးဘဲအချို့သောအကာအကွယ်ပေးထားသည့်အရင်းအမြစ်များကိုလက်လှမ်းမီစေရန် ToKens ကိုအသုံးပြုသည်။ ထို့ကြောင့် OAURT သည်ခေတ်သစ် web application များ၏ခွင့်ပြုချက်နှင့်စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းတွင်ကျယ်ပြန့်စွာအသုံးပြုသောပြောင်းလွယ်ပြင်လွယ်။ လုံခြုံသောအဖြေရှာတစ်ခုဖြစ်သည်။
Oauth ဘယ်လိုအလုပ်လုပ်ခဲ့သလဲ
Oauth သည်အဓိကအခန်းကဏ် feart 4 ခုပါ 0 င်သော "ခွင့်ပြုချက်ကုဒ်ခွင့်ပြုချက်" ဟုခေါ်သောယန္တရားတစ်ခုမှတစ်ခုသည်ခွင့်ပြုချက်ဖြစ်စဉ်ကိုလုပ်ဆောင်သည်။
- အသုံးပြုသူ - နောက်ဆုံး API အသုံးပြုသူ။
- တတိယပါတီလျှောက်လွှာ (client) - အသုံးပြုသူအရင်းအမြစ်များကိုရယူရန်တောင်းဆိုသည့် application တစ်ခု။
- ခွင့်ပြုချက်ဆာဗာ - အသုံးပြုသူ authentication နှင့်ခွင့်ပြုချက်ကိုလုပ်ဆောင်သောဆာဗာ။
- အရင်းအမြစ်ဆာဗာ - အသုံးပြုသူမှကာကွယ်ထားသောအရင်းအမြစ်များကိုသိုလှောင်ထားသောဆာဗာတစ်ခု။
OAURT ၏လုပ်ငန်းစဉ်သည်များသောအားဖြင့်အောက်ပါအတိုင်းဖြစ်သည် -
- တတိယပါတီလျှောက်လွှာသည်၎င်း၏ authentication ကိုသတင်းအချက်အလက်ပေးရန်ခွင့်ပြုချက်ဆာဗာမှခွင့်ပြုချက်ကိုတောင်းဆိုသည်။
- ခွင့်ပြုချက်ဆာဗာသည်အသုံးပြုသူအားစစ်မှန်ကြောင်းအတည်ပြုရန်နှင့်ခွင့်ပြုရန်လိုအပ်သည်။
- အသုံးပြုသူသည်အထောက်အထားများကို 0 င်ရောက်ပြီးဝင်ရောက်ခွင့်ကိုခွင့်ပြုသည်။
- ခွင့်ပြုချက်ဆာဗာသည်ခွင့်ပြုချက်ကုဒ်ကိုတတိယပါတီလျှောက်လွှာသို့ပြန်ပို့သည်။
- တတိယပါတီအက်ပလီကေးရှင်းများကခွင့်ပြုချက်ကုဒ်များကို အသုံးပြု. ဆက်သွယ်မှုတိုကင်ကိုတောင်းဆိုသည်။
- ခွင့်ပြုချက်ဆာဗာသည်လက်လှမ်းမီမှုကိုစစ်ဆေးပြီးပြန်ပို့သည်။
- တတိယပါတီအက်ပလီကေးရှင်းများသည်အရင်းအမြစ်ဆာဗာမှအသုံးပြုသူအရင်းအမြစ်များကိုတောင်းခံရန် Access Tokens ကိုအသုံးပြုသည်။
- အရင်းအမြစ်ဆာဗာသည်လက်လှမ်းမီမှုလက္ခဏာများကိုစစ်ဆေးပြီးအရင်းအမြစ်ကိုပြန်ပို့သည်။
PHP သည် OAUTH ကိုအကောင်အထည်ဖော်သည်
Oauth ကိုအကောင်အထည်ဖော်ရန်ရိုးရှင်းသော PHP ကုဒ်ကိုဥပမာတစ်ခု -
<?php
// Step 1: အသုံးပြုသူအားခွင့်ပြုချက်သို့လွှဲပြောင်းသည်URL
$authorizationUrl = 'https://example.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code';
header('Location: ' . $authorizationUrl);
exit;
// Step 2: ခွင့်ပြုချက်ဆာဗာသည်အသုံးပြုသူအားပြန်ခေါ်ရန် redirectURL,နှင့်ခွင့်ပြုချက်ကုဒ်ပေးပါ
$authorizationCode = $_GET['code'];
// Step 3: Access Token ရရှိရန်ခွင့်ပြုချက်ကုဒ်ကိုသုံးပါ
$tokenUrl = 'https://example.com/oauth/token';
$tokenData = [
'grant_type' => 'Authorize_code',
'Code' => $ AuthorizeCode,
'redirect_Uri' => 'your_redirect_uri',
'client_id' => 'your_client_id',
'client_secret' => 'here_client_secret',
];
$ tokenoptions = [
'http' => [
'နည်းလမ်း' => 'post',
'header' => 'Content-type: application / x-www-form-urlencoded',
'Content' => http_build_Query ($ တိုကတာ)
]
];
$ tokencontext = stream_context_create ($ tokenoptions);
$ tokenresult = file_get_contents ($ tokenurl, false false, $ tokencontext);
$ accessteright = json_decode ($ tokenresult) -> access_token;
// အဆင့် 4: အသုံးပြုသူအရင်းအမြစ် $ actloessurl = 'https://xphps.com/api/user' ကိုရယူပါ။
$ useroptions = [
'http' => [
'Method' => 'Get',
'header' => 'ခွင့်ပြုချက်: Bearer' ။ $ accestered
]
];
$ usercontext = stream_context_create ($ us usyoptions);
$ userresult = file_get_contents ($ user userurl, false usercontse);
$ userData = json_decode ($ ourresult);
// process user data echo 'ကြိုဆိုပါတယ်' ' $ userData-> အမည်;
>
နိဂုံးချုပ်အားဖြင့်
APIs ၏များပြားလှသောအသုံးပြုမှုနှင့်အတူ APIs ကိုခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခြင်းမှကာကွယ်ခြင်းသည် ပို. အရေးကြီးလာသည်။ ပွင့်လင်းသောစံနှုန်းတစ်ခုအနေဖြင့် Oauth သည် API ခွင့်ပြုချက်ယန္တရားများကိုအကောင်အထည်ဖော်ရန်ပြောင်းလွယ်ပြင်လွယ်။ လုံခြုံသောနည်းလမ်းဖြင့် developer များကိုထောက်ပံ့ပေးသည်။ Oauth ကိုမှန်ကန်စွာအကောင်အထည်ဖော်ခြင်းအားဖြင့်သင်သည်ဒေတာချိုးဖောက်မှုများနှင့်ခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခွင့်ကိုထိရောက်စွာကာကွယ်နိုင်သည်။ Oauth ကို PHP တွင်အကောင်အထည်ဖော်ခြင်းသည်အလွန်ရိုးရှင်းပါသည်။ API ကာကွယ်ရေးလုပ်ငန်းဆောင်တာများကိုအလွယ်တကူအကောင်အထည်ဖော်ရန်သင်၏လိုအပ်ချက်နှင့်အညီသင့်လျော်သောပြုပြင်မွမ်းမံချက်များကိုသာလိုအပ်သည်။