ယနေ့အင်တာနက်အပလီကေးရှင်းများတွင်အသုံးပြုသူအထောက်အထားများ၏လုံခြုံရေးကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ Oauth သည်ပလက်ဖောင်းများပေါ်တွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသောပွင့်လင်းသောခွင့်ပြုချက် prococol ကို အသုံးပြု. အသုံးပြုသူများအား၎င်းတို့၏စကားဝှက်များကိုမထုတ်ဖော်ဘဲ၎င်းတို့၏အရင်းအမြစ်များကိုရယူရန် application များကိုခွင့်ပြုရန်ခွင့်ပြုသည်။ ဤဆောင်းပါးသည် PHP နှင့် oauth protocols များကို အသုံးပြု. အမှတ်အသားအခြေပြုစစ်မှန်ကြောင်းအတည်ပြုစနစ်တည်ဆောက်ရန်မည်သို့လေ့လာရန်သင့်အားယူပါလိမ့်မည်။
ပထမ ဦး စွာသင်၏ PHP ပတ်ဝန်းကျင်တွင် OAuth extension ကို install လုပ်ရန်လိုအပ်သည်။ extension ကို terminal တွင်အောက်ပါ command မှတဆင့် install လုပ်နိုင်သည်။
<span class="fun">sudo apt-get install Php-Oauth</span>
တပ်ဆင်မှုပြီးဆုံးသည်နှင့်တပြိုင်နက် Oauth authentication ကိုအကောင်အထည်ဖော်ရန် PHP Code ကိုစတင်ရေးသားနိုင်သည်။
Oauth စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းစနစ်မဖွံ့ဖြိုးမီသင် (ဂူဂဲလ်, ဖေ့စ်ဘွတ်ခ်, တွစ်တာစသဖြင့်သက်ဆိုင်ရာ developer platform များအပေါ် Oauth client id နှင့် client key ကိုလျှောက်ထားရန်လိုအပ်သည်။ ဤအချက်အလက်သည်နောက်ဆက်တွဲစစ်မှန်ကြောင်းအတည်ပြုခြင်းလုပ်ငန်းစဉ်အတွက်အသုံးပြုလိမ့်မည်။
ထို့နောက် OAUTH.php အမည်ရှိဖိုင်တစ်ခုကိုဖန်တီးပါ။ အောက်ပါတို့သည် Oauth စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းလုပ်ငန်းစဉ်ကိုအကောင်အထည်ဖော်သည့်ကုဒ်ဖြစ်သည်။
<?php
// အဓိပါ်ပယ်OAuthဖောက်သည်ID和ဖောက်သည်密钥
$clientId = "YOUR_CLIENT_ID";
$clientSecret = "YOUR_CLIENT_SECRET";
// အဓိပါ်ပယ်OAuthပြန်ခေါ်ပါURL
$callbackUrl = "http://yourwebsite.com/callback.php";
// ဖြစ်ပေါ်လာခြင်းOAuthဖောက်သည်
$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
// ခွင့်ပြုချက်တောင်းခံ
$requestToken = $oauth->getRequestToken("https://api.example.com/oauth/request_token", $callbackUrl);
// session ကိုယာယီတိုကင်သိမ်းပါ
$_SESSION['oauth_token'] = $requestToken['oauth_token'];
$_SESSION['oauth_token_secret'] = $requestToken['oauth_token_secret'];
// ခွင့်ပြုချက်ထုတ်လုပ်ရန်URL
$authorizeUrl = $oauth->getAuthorizeURL($requestToken['oauth_token']);
// အသုံးပြုသူအားခွင့်ပြုချက်သို့လွှဲပြောင်းခြင်းURL
header("Location: " . $authorizeUrl);
?>
အထက်ဖော်ပြပါကုဒ်များတွင် Oauth client ၏ ID, client key နှင့် callback URL ကိုပထမဆုံးသတ်မှတ်ထားသည်။ ထို့နောက် Oauth client အရာဝတ်ထုတစ်ခုကိုကျွန်ုပ်တို့အစပြုပြီးယာယီလက်ခဏာသက်သေတောင်းဆိုသည်။ နောက်ဆုံးအနေဖြင့်ခွင့်ပြုချက် URL ကိုထုတ်လုပ်ပြီးအသုံးပြုသူကိုခွင့်ပြုရန် redirect ။
အသုံးပြုသူခွင့်ပြုသည့်အခါလျှောက်လွှာသည် callback တောင်းဆိုမှုကိုလက်ခံရရှိလိမ့်မည်။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည်ခွင့်ပြုထားသောပြန်လာမှုကိုဆက်လက်လုပ်ဆောင်ရန်နှင့်ယာယီတိုကင်ကိုလက်လှမ်းမီမှုအမှတ်အသားအဖြစ်လဲလှယ်ရန်လိုအပ်သည်။ ဤနေရာတွင် callbacks ကိုင်တွယ်ရန်အတွက် PHP ကုဒ်ဖြစ်သည်။
<?php
// ယာယီတိုကင်တည်ရှိမလားစစ်ဆေးပါ
if (!isset($_SESSION['oauth_token']) || !isset($_SESSION['oauth_token_secret'])) {
die("Temporary token not found.");
}
// ယာယီတိုကင်ကိုရယူပါ
$oauthToken = $_SESSION['oauth_token'];
$oauthTokenSecret = $_SESSION['oauth_token_secret'];
// ဖြစ်ပေါ်လာခြင်းOAuthဖောက်သည်
$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauthToken, $oauthTokenSecret);
// ခွင့်ပြုချက်အမှတ်အသားကိုရယူပါ
$accessToken = $oauth->getAccessToken("https://api.example.com/oauth/access_token");
// ခွင့်ပြုချက်အမှတ်အသားထုတ်ထုတ်ပါ
var_dump($accessToken);
?>
callback processing code တွင်ယာယီတိုကင်တည်ရှိမှုရှိ, မရှိစစ်ဆေးပါ။
အထက်ပါဥပမာကုဒ်နှင့်အတူ PHP နှင့် oauth protocol ကို အသုံးပြု. တိုကင်အခြေပြုစစ်မှန်ကြောင်းအတည်ပြုစနစ်ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ သင်၏အမှန်တကယ်လိုအပ်ချက်များပေါ် မူတည်. လုံခြုံရေးလိုအပ်ချက်များကိုဖြည့်ဆည်းရန်စနစ်ကိုပိုမိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။