JSON Web Token (JWT) သည် Network ပေါ်ရှိသတင်းအချက်အလက်များကိုလုံလုံခြုံခြုံထုတ်လွှင့်ရန် Open standard (RFC 7519) ဖြစ်သည်။ JWT တွင်အပိုင်းသုံးပိုင်း - header, payload နှင့်လက်မှတ်။ Header သည်များသောအားဖြင့်တိုကင်အမျိုးအစားများနှင့်အသုံးပြုသောလက်မှတ်အမျိုးအစားပါ 0 င်သည်။
TherPhp6 တွင် JWT authentication ကို The Myple-JWT အစိတ်အပိုင်းကိုမိတ်ဆက်ပေးခြင်းဖြင့်အကောင်အထည်ဖော်နိုင်သည်။ composer.json ဖိုင်ရှိသက်ဆိုင်ရာမှီခိုမှုများကိုသာထည့်ပြီး၎င်းကိုထည့်သွင်းပါ။
{ "တောင်းဆို": { "Think-jwt": "1.0 ။ *" } }
တပ်ဆင်မှုပြီးဆုံးသွားသောအခါအောက်ပါကုဒ်ကို ဖြတ်. JWT authentication ကိုလုပ်ဆောင်နိုင်သည်။
TherePhp6 တွင် JWT ကို JWT အတန်းအစားမှတစ်ဆင့်ထုတ်လုပ်သည်။ ပထမ ဦး စွာ JWT အတွက်သက်ဆိုင်ရာ configuration ပစ္စည်းများပါ 0 င်သော `jwt.php ၏ configuration file တစ်ခုကိုဖန်တီးရန်လိုအပ်သည်။ ဤဖိုင်ကို `config` directory တွင်တည်ရှိသင့်သည်။
ပြန်လာ [ // လက်မှတ် key 'secret' => 'my_secret', // သက်တမ်းကုန်ဆုံးချိန်, ယူနစ်သည်စက္ကန့်ပိုင်းဖြစ်သည်။ ပုံမှန်သည် 1 နာရီ 'သက်တမ်းကုန်' => 3600 ];
ထို့နောက် JWT Class ကို Controller တွင်မိတ်ဆက်ပေးပါ။ jwt generate လုပ်ရန် `create` method ကိုခေါ်ပါ။
Think Photo \ JWT \ JWT ကိုသုံးပါ။ Class Userconttroller သည် Controller ကိုတိုးချဲ့သည် { Public function login () { // အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုစစ်ဆေးပါ။ // jwt ထုတ်ပေး $ payload = [ 'user_id' => $ user-> ID ]; $ jwt = jwt :: ဖန်တီးခြင်း ($ payload), ပြန်လာ ['Token' => $ jwt]; } }
အထက်ပါကုဒ်တွင်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုအတည်ပြုပြီးအတည်ပြုပြီးနောက် JWT ကိုထုတ်လုပ်ပြီး client သို့ပြန်ပို့ပါ။
TherfPP6 တွင် JWT ၏တရားဝင်မှုကို JWT အတန်းမှတစ်ဆင့်အတည်ပြုနိုင်သည်။ JWT လူတန်းစားကို Controller ထဲကိုမိတ်ဆက်ပေးပါ။ အတည်ပြုရန်အတွက် `verify's method ကိုခေါ်ပါ။
Think Photo \ JWT \ JWT ကိုသုံးပါ။ Class Userconttroller သည် Controller ကိုတိုးချဲ့သည် { အများပြည်သူ function ကိုပရိုဖိုင်း () { // jwt အတည်ပြုရန် $ jwt = input ('token'); $ payload = JWT :: Verify ($ jwt); ပြန်လာ ['user_id' => $ payload ['user_id']] } }
အထက်ပါကုဒ်တွင် JWT ကို client မှပေးပို့သည်နှင့်အတည်ပြုရန်အတွက် `verify's method ကိုခေါ်ဆိုသည်။ အတည်ပြုအောင်မြင်ပြီးနောက် JWT တွင် payload data များကိုသင်ရရှိနိုင်သည်။
ဤဆောင်းပါးမှတစ်ဆင့် JWT ၏အခြေခံသဘောတရားများကိုကျွန်ုပ်တို့နားလည်ပြီး ThinkPhp6 တွင် Authentication အတွက် JWT ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့နားလည်ပါသည်။ JWT authentication သည်လုံခြုံမှုကိုထိရောက်စွာကာကွယ်နိုင်ပြီးခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခွင့်ကိုကာကွယ်နိုင်သည်။ Developer များသည်စီမံကိန်း၏လုံခြုံရေးယန္တရား၏လုံခြုံရေးနှင့်ပြောင်းလွယ်ပြင်လွယ်မှုများကိုသေချာစေရန်စီမံကိန်းလိုအပ်ချက်များအရ Configurations ကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။