ခေတ်သစ်ဝက်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင် API authentication သည်အရေးပါသောအစိတ်အပိုင်းဖြစ်သည်။ Laravel framework ကိုအသုံးပြုသော developer များအတွက် APIs အတွက် authentication အထောက်အပံ့ကိုအလွယ်တကူထောက်ပံ့ပေးသည့် Laravel2 Passport စာမူသည် OARATH2 authentication စာကြည့်တိုက်တစ်ခုဖြစ်သည်။ ဤအတောအတွင်း Lumen သည်စွမ်းဆောင်ရည်မြင့်မားသော PHP Microframework ကိုမြန်ဆန်စွာတုန့်ပြန်သောအနားယူရန်အတွက်ဒီဇိုင်းပြုလုပ်ထားသောစွမ်းဆောင်ရည်မြင့်မားသော PHP Microframework ဖြစ်သည်။ ဤလမ်းညွှန်သည် Laravel Password ကိုလုံခြုံပြီးယုံကြည်စိတ်ချရသော API authentication အတွက် Laravel Passport နှင့်မည်သို့ပေါင်းစပ်ရမည်နှင့် ပတ်သက်. အသေးစိတ်အချက်အလက်များကိုဖော်ပြထားသည်။
Laravel Passport မှာ Laravel ၏တရားဝင် Oauth2 အသိအမှတ်ပြုလက်မှတ်ဖြစ်သည်။ နိုင်ငံကူးလက်မှတ်နှင့်အတူ developer များအနေဖြင့် application များအတွက် application များအတွက် applications များအတွက် authentication systems ကိုလျင်မြန်စွာတည်ဆောက်နိုင်, ၎င်း၏ရိုးရှင်းသောနှင့်လွယ်ကူသော interface သည်ဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုများစွာတိုးတက်ကောင်းမွန်စေသည်။
Lumen သည် developer များနှင့် apis များကိုလျင်မြန်စွာတည်ဆောက်ရန်အတွက်ဒီဇိုင်းထုတ်ထားသောပေါ့ပါးသော PHP Micro Framework ဖြစ်သည်။ ၎င်း၏သာလွန်စွမ်းဆောင်ရည်သည်ထိရောက်သောမြန်ဆန်သောတုံ့ပြန်မှုရှိသော 0 န်ဆောင်မှုများကိုတည်ဆောက်ရန်အကောင်းဆုံးဖြစ်သည်။ Lumen ကိုအသုံးပြုသောအခါ developer များက Laravel ၏ရှုပ်ထွေးမှုမချဘဲ Laravel မှပေးသောအင်္ဂါရပ်များကိုခံစားနိုင်သည်။
Laravel Passport ဖြင့်စတင်ရန်သင်သည်တေးရေးဆရာမှတဆင့် install လုပ်ရန်လိုအပ်သည်။ ဒီမှာ installation stepings:
composer require laravel/passport
တပ်ဆင်ပြီးသည်နှင့်ပြည့်စုံပြီးပါက Passport service provider ကို Lumen ရှိ `bootstrap / app.php` app ကိုဖိုင်တွင်မှတ်ပုံတင်ရန်လိုအပ်သည်။
class_alias(App\Providers\PassportServiceProvider::class, 'Laravel\Passport\PassportServiceProvider');
ထို့နောက် Passport မှလိုအပ်သောသော့ကိုထုတ်လုပ်ရန်အောက်ပါ command ကို run ပါ။
php artisan passport:install
ထို့နောက် `hasapitokens` ကိုစရိုက်ကိုအသုံးပြုသူမော်ဒယ်တွင်မိတ်ဆက်ခဲ့သည်။ `app / user.php` ဖိုင်ကိုဖွင့်ပြီးအောက်ပါကုဒ်ကိုထည့်ပါ။
use Laravel\Passport\HasApiTokens; // ဖိုင်၏ထိပ်မှာ
class User extends Authenticatable { use HasApiTokens, Notifiable; // အတန်းထဲတွင်ထည့်ပါ
}
လမ်းကြောင်းများကိုကာကွယ်ရန်နှင့် API authentication ကိုအကောင်အထည်ဖော်ရန်အတွက် API စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းကိုအကောင်အထည်ဖော်ရန်အတွက်၎င်းကို lumen တွင်ပြောင်းရွှေ့ရန်လိုအပ်သည်။ ပထမ ဦး စွာ `bootstrap / app.php` အတွက် authentication middleware ကိုသေချာအောင်လုပ်ပါ။
$app->routeMiddleware([ 'auth' => App\Http\Middleware\Authenticate::class,]);
ထို့နောက် API routing ကိုကာကွယ်ရန် routing file တွင် `auth` monthing middleware ကိုသုံးပါ။ ဥပမာအားဖြင့်:
Route::group(['middleware' => 'auth:api'], function () { Route::get('/user', 'UserController@show');});
0 န်ဆောင်မှုခံယူသူသည် `/ oauth / token` endpoint သို့ပို့စ်တောင်းခံခြင်းအားဖြင့် 0 င်ရောက်ခွင့်လက်မှတ်ကိုရယူနိုင်သည်။ ဤတွင်တောင်းဆိုချက်၏ဥပမာတစ်ခုဖြစ်သည်။
POST /oauth/token
Content-Type: application/json
{
"grant_type": "password",
"client_id": "client-id",
"client_secret": "client-secret",
"username": "[email protected]",
"password": "password",
"scope": ""
}
အောင်မြင်မှုရပြီးနောက်ဆာNCST_TEKပါ 0 င်သည့် JSO တုံ့ပြန်မှုပါ 0 င်သည့် access_token ပါ 0 င်သည့် access_token ကို 0 င်ရောက်နိုင်သည့် access_token ကိုပြန်ပို့သည်။
အထက်ပါအဆင့်များမှတဆင့်သင်သည် Laravel Passport ကို API authentication ကိုရရှိရန် Laravel Passport ကို configure နှင့်အသုံးပြုနိုင်သည်။ ဤပေါင်းစပ်မှုသည်လျှောက်လွှာ၏လုံခြုံရေးကိုပိုမိုကောင်းမွန်စေသည်သာမကဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုလည်းတိုးတက်စေသည်။ Laravel Passport နှင့် Lumen သည်လုံခြုံရေးလက်မှတ်လိုအပ်သည့် API application များအတွက်အလွန်ကောင်းမွန်သောရွေးချယ်မှုများဖြစ်သည်။
ဤလမ်းညွှန်သည် Laravel Passport ကို Laravel နှင့်အောင်မြင်စွာပေါင်းစပ်နိုင်လိမ့်မည်ဟုမျှော်လင့်ပါသည်။