လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ThinkPpP6 တွင် JWT authentication ကိုအကောင်အထည်ဖော်ခြင်း

ThinkPpP6 တွင် JWT authentication ကိုအကောင်အထည်ဖော်ခြင်း

gitbox 2025-06-18

1 ။ jwt ကဘာလဲ

JSON Web Token (JWT) သည် Network ပေါ်ရှိသတင်းအချက်အလက်များကိုထုတ်လွှင့်ရန် Open standard (RFC 7519) ဖြစ်သည်။ JWT တွင်အပိုင်းသုံးပိုင်း - header, payload နှင့်လက်မှတ်။ ခေါင်းစီးတွင်တိုကင်အမျိုးအစားနှင့် signature algorithm ပါဝင်သည်။ payload သည်အချက်အလက်များကိုကူးယူမည့်အချက်အလက်များကိုသိမ်းဆည်းထားပြီးလက်မှတ်ကိုအမှတ်အသား၏စစ်မှန်မှုကိုအတည်ပြုရန်အသုံးပြုသည်။

2 ။ ThinkPhp6 အတွက် JWT ၏အသုံးပြုမှု

ThinkPP6 တွင် JWT ကိုအသုံးပြုရန်အတွက်သင်သည် Composer.json ဖိုင်တွင် They-JWT အစိတ်အပိုင်းကိုမိတ်ဆက်ပေးခြင်းဖြင့်၎င်းကို ဦး စွာအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ "Think-jwt": "1.0 ။ *" ဖိုင်၏လိုအပ်သည့် node ကိုထည့်သွင်းပါ။ ထို့နောက် composer update command command ကို Execute လုပ်ပါ။

2.1 jwt ထုတ်ပေးပါ

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 န်ဆောင်မှုခံယူသူထံသို့ပြန်ပို့ပါ။

2.2 jwt စစ်ဆေးပါ

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 ကိုရယူနိုင်သည်။

3 ။ အကျဉ်းချုပ်

ဤဆောင်းပါးမှတစ်ဆင့် JWT ၏အခြေခံသဘောတရားများကိုကျွန်ုပ်တို့နားလည်ပြီး ThinkPhpp6 တွင်မည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့နားလည်ပါသည်။ Authentication အတွက် JWT ကိုအသုံးပြုခြင်းသည် interface ၏လုံခြုံရေးကိုထိရောက်စွာတိုးတက်စေပြီးခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခြင်းကိုတားဆီးနိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် developer များသည်စီမံကိန်း၏လုံခြုံရေးလိုအပ်ချက်များကိုဖြည့်ဆည်းရန်သူတို့၏လိုအပ်ချက်များနှင့်အညီ JWT Configuration ကိုချိန်ညှိနိုင်သည်။