OpenID Connect သည် Oauth 2.0 ကို အခြေခံ. စစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်ခွင့်ပြုချက်သဘောတူညီချက်ဖြစ်သည်။ အသုံးပြုသူများအားတတိယပါတီပံ့ပိုးပေးသူများ (ဂူဂဲလ်, ဖေ့စ်ဘွတ်ခ်စသည်တို့) မှတဆင့်လက်ရှိအကောင့်များနှင့်ဝင်ရောက်ရန်ခွင့်ပြုသည်။ ၎င်းသည် developer များကို standard နှင့် user authentication method များကိုထောက်ပံ့ပေးသည်။
ဖွံ့ဖြိုးမှုမစတင်မီ PHP နှင့်ဘုံအစိတ်အပိုင်းများကို Openssll, Curl နှင့် JSON ၏ပံ့ပိုးမှုစသည့်ဘုံအစိတ်အပိုင်းများကိုအတည်ပြုရန်လိုအပ်သည်။ ၎င်းကို install မလုပ်ပါက installation ကိုအောက်ပါ command ကိုလိုက်နာခြင်းဖြင့်ပြီးစီးနိုင်သည်။
$ sudo apt-get install php openssl php-curl php-json
ပထမ ဦး စွာ, openid provider ၏ developer console တွင် client application တစ်ခုကိုဖန်တီးရန်လိုအပ်သည်။ ဖန်ဆင်းခြင်းလုပ်ငန်းစဉ်အတွင်းသင်သည်ထူးခြားသော client id နှင့် client secres secret (client secret) ကိုသတ်မှတ်ရန်နှင့်ခွင့်ပြုချက်အဖြေများရရှိရန်အတွက် Redirect URL ကိုပြင်ဆင်ရန်လိုအပ်သည်။
လိုအပ်သော PHP စာကြည့်တိုက်ဖိုင်များကိုမိတ်ဆက်ပေးပါ။
require_once 'vendor/autoload.php';
use OpenIDConnectClient;
client ဥပမာတစ်ခုကိုဖန်တီးပြီး parameters တွေကို configure လုပ်ပါ။
$clientID = 'your-client-id';
$clientSecret = 'your-client-secret';
$redirectURL = 'your-redirect-url';
$oidc = new OpenIDConnectClient($clientID, $clientSecret);
$oidc->setRedirectURL($redirectURL);
$oidc->setProviderURL('https://your-openid-provider.com');
authentication ကိုတောင်းဆိုခြင်းနှင့် callbacks ကိုကိုင်တွယ်ပါ။
if (!isset($_GET['code'])) {
// အသုံးပြုသူအတည်မပြုရသေးပါ,authentication စာမျက်နှာကို redirect
$authorizationURL = $oidc->getAuthorizationURL();
header('Location: ' . $authorizationURL);
exit;
} else {
// အသုံးပြုသူအတည်ပြု,Access Token ရရှိရန်ခွင့်ပြုချက်ကုဒ်ကိုသုံးပါ
$code = $_GET['code'];
$oidc->authenticate($code);
$accessToken = $oidc->getAccessToken();
$userInfo = $oidc->requestUserInfo();
// ဤတွင်သင်အသုံးပြုသူ login သို့မဟုတ်စီးပွားရေးယုတ္တိဗေဒအပြောင်းအလဲနဲ့သုံးနိုင်သည်
}
OpenID ချိတ်ဆက်မှုဖြင့် PHP application များသည်လုံခြုံပြီးစံသတ်မှတ်ထားသောအသုံးပြုသူ authentication ကိုရရှိနိုင်သည်။ 0 န်ဆောင်မှုခံယူသူအားပေးသူနှင့်ပြည့်စုံသောစစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်အသုံးပြုသူအချက်အလက်ရယူခြင်းကိုရိုးရှင်းသောကုဒ်ရေးဆွဲခြင်းလုပ်ငန်းစဉ်ဖြင့်သာမှတ်ပုံတင်ပါ။ ဤဖြေရှင်းချက်သည် Self-processing password ကိုအတည်ပြုခြင်း၏အန္တရာယ်ကိုရှောင်ရှားနိုင်ပြီး PHP စီမံကိန်းများအတွက်သင့်တော်သောခေတ်ရေစီးကြောင်းအထောက်အထားပေးသူများစွာကိုထောက်ပံ့သည်။