JSON Web Token (JWT) သည် Network ပေါ်ရှိသတင်းအချက်အလက်များကိုထုတ်လွှင့်ရန် Open standard (RFC 7519) ဖြစ်သည်။ JWT တွင်အပိုင်းသုံးပိုင်း - header, payload နှင့်လက်မှတ်။ ခေါင်းစီးတွင်တိုကင်အမျိုးအစားနှင့် signature algorithm ပါဝင်သည်။ payload သည်အချက်အလက်များကိုကူးယူမည့်အချက်အလက်များကိုသိမ်းဆည်းထားပြီးလက်မှတ်ကိုအမှတ်အသား၏စစ်မှန်မှုကိုအတည်ပြုရန်အသုံးပြုသည်။
ThinkPP6 တွင် JWT ကိုအသုံးပြုရန်အတွက်သင်သည် Composer.json ဖိုင်တွင် They-JWT အစိတ်အပိုင်းကိုမိတ်ဆက်ပေးခြင်းဖြင့်၎င်းကို ဦး စွာအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ "Think-jwt": "1.0 ။ *" ဖိုင်၏လိုအပ်သည့် node ကိုထည့်သွင်းပါ။ ထို့နောက် composer update command command ကို Execute လုပ်ပါ။
TherfPp6 တွင် JWT ကို JWT အတန်းအစားမှတစ်ဆင့်ထုတ်လုပ်နိုင်သည်။ ပထမ ဦး စွာ JWT-Related configuration ပစ္စည်းများပါ 0 င်သည့် JWT.php configuration file တစ်ခုကိုဖန်တီးရန်လိုအပ်သည်။
ပြန်လာ [
// လက်မှတ် key 'secret' => 'my_secret',
// သက်တမ်းကုန်ဆုံးချိန်, ယူနစ်သည်စက္ကန့်ပိုင်းဖြစ်သည်။ ပုံမှန်သည် 1 နာရီ 'သက်တမ်းကုန်' => 3600
];
ထို့နောက် JWT လူတန်းစားကို Controller တွင်မိတ်ဆက်ပေးပါ။ jwt generate လုပ်ရန် Create method ကိုသုံးပါ။
Think Photo \ JWT \ JWT ကိုသုံးပါ။
Class Userconttroller သည် Controller ကိုတိုးချဲ့သည်
အများပြည်သူ function ကို login () {)
// အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုစစ်ဆေးပါ။
// jwt ထုတ်ပေး
$ payload = [
'user_id' => $ user-> ID
];
$ jwt = jwt :: ဖန်တီးခြင်း ($ payload),
ပြန်လာ ['Token' => $ jwt];
}
}
အထက်ပါကုဒ်တွင်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုအတည်ပြုပြီးအတည်ပြုပြီးနောက် JWT ကိုထုတ်လုပ်ပြီး 0 န်ဆောင်မှုခံယူသူထံသို့ပြန်ပို့ပါ။
TherfPP6 တွင် JWT ၏တရားဝင်မှုကို JWT အတန်းအစား၏အတည်ပြုနည်းဖြင့်အတည်ပြုနိုင်သည်။
Think Photo \ JWT \ JWT ကိုသုံးပါ။
Class Userconttroller သည် Controller ကိုတိုးချဲ့သည်
အများပြည်သူ function ကိုပရိုဖိုင်း () {)
// jwt အတည်ပြုရန်
$ jwt = input ('token');
$ payload = JWT :: Verify ($ jwt);
ပြန်လာ ['user_id' => $ payload ['user_id']]
}
}
အထက်ဖော်ပြပါကုဒ်များတွင် client မှ JWT ကိုပထမ ဦး စွာရယူပါ။ ထို့နောက်အတည်ပြုရန်အတွက် Verify Method ကိုခေါ်ဆိုပါ။ အတည်ပြုပြီးသည်နှင့်သင် jwt တွင် payload data ကိုရယူနိုင်သည်။
ဤဆောင်းပါးမှတစ်ဆင့် JWT ၏အခြေခံသဘောတရားများကိုကျွန်ုပ်တို့နားလည်ပြီး ThinkPhpp6 တွင်မည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့နားလည်ပါသည်။ Authentication အတွက် JWT ကိုအသုံးပြုခြင်းသည် interface ၏လုံခြုံရေးကိုထိရောက်စွာတိုးတက်စေပြီးခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခြင်းကိုတားဆီးနိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် developer များသည်စီမံကိန်း၏လုံခြုံရေးလိုအပ်ချက်များကိုဖြည့်ဆည်းရန်သူတို့၏လိုအပ်ချက်များနှင့်အညီ JWT Configuration ကိုချိန်ညှိနိုင်သည်။