JWT ဆိုတာကတော့ JSON Web Token လို့ခေါ်တဲ့ open source တစ်ခု ပဲ ဖြစ်ပါတယ်။ JWT ကိုအသုံးပြုပြီးတော့ DotNet8 MVC web application project တစ်ခုမှာဘယ်လို configure လုပ်မလဲဆိုတာပဲဖြစ်တယ်။
User တစ်ယောက်က login ဝင်ဖို့အတွက် Username နဲ့ Password ကို Input ရိုက်သွင်းပြီဆိုကြပါစို့။ ပုံမှန်ဆိုရင် Local Storage ကို သုံးပြီး အဲ့ဒီ userရိုက်ထည့်လိုက်တဲ့ Informations တွေကိုသိမ်းလေ့ရှိပါတယ်။အခုမှာတော့ JWT token တစ်ခုထုတ်ပြီး Cookiesမှာသွားသိမ်းထားမှာပါ။ အဲ့ဒီ token နဲ့ အတူပဲ standard သက်မှတ်ချက်အရ Admin, User စသဖြင့် role တွေ JWT claim ကို အသုံးပြုပြီးတော့ ခွဲလို့ရပါတယ်။
Microsoft.AspDotNetCore.Authentication.JwtBearer ဆိုတဲ့
Nuget package ကိုပထမဆုံးinstall ရပါမယ်။ပြီးရင်တော့ JWT အသုံးပြုဖို့ အောက်ပါအတိုင်းService add ရမှာဖြစ်ပါတယ်။
ပြီးရင်တော့ add ထားတဲ့ Services နှစ်ခုကိုပြန်သုံးဖို့အောက်ပါအတိုင်းကြေညာပေးရပါတယ်။
ပြီးရင် JWT Key နဲ့ issuer အတွက် appsetting.json ထဲမှာ ထည့်ပေးရမှာပါ။
Key အတွက်ကတော့ 128 bytes အတွက် Character and Number 32 လုံး mix လုပ်ပြီးထည့်ပေးရင်ရပါတယ်။ Issuerအတွက်ကတော့ သက်ဆိုင်ရာ Domain ကိုထည့်ပေးရမှာပါ။
ပြီးရင်တော့ Controller တစ်ခုနဲ့ User Informationလက်ခံဖို့အတွက် Model တစ်ခုဆောက်ပါမယ်။ပြီးရင် token Generate လုပ်ပေးတဲ့codeကိုရေးရမှာပါ။ In this token generation , the respective claims are all set. You can add claims according to your necessities.
Controller မှာလိုအပ်တဲ့ Logicတွေ Implement လုပ်ပြီးတာနဲ့
Token မှာ ဘာပါလဲ စစ်တဲ့ Middleware တစ်ခု ရေးပေးပါမယ်။
Middleware သုံးဖို့ Service မကြေညာခင်မှာ Path ကို Specify လုပ်ပေးမဲ့ code တစ်စုကို အရင်ကြေညာရပါဦးမယ်။
ပြီးရင်တော့ Service add ပြီး ကြေညာပေးရပါမယ်။
Ready! You're good to go.
သက်ဆိုင်ရာ Method တွေမှာ Role တွေထည့်ပြီး အသုံးပြုလို့ရပါပြီ။
Top comments (0)