မင်္ဂလာပါ
ဒီနေ့ကျွန်တော်တို့ json web token အကြောင်းလေး
ဆွေးနွေးကြည့်ရအောင်
jwt လိုပဲသုံးနှုန်းသွားပါမယ်။
web မှာ ဆို single page application လိုမျိုးတွေ
mobile မှာ ဆို android ios app တွေအတွက်
development လုပ်တဲ့အခါမှာ
backend stack ကသပ်သပ် frontend stack ကသပ်သပ်
develop လုပ်ကြရပါတယ်။
frontend မှာ user auth , authorization အတွက် session တွေမရှိသလို
database နဲ့လည်းတိုက်ရိုက်ချိတ်ဆက်ဖို့ကsecutiryကြောင့်အဆင်မပြေပါဘူး
ဒါကြောင့် frontend ui တွေမှ database ကအချက်အလက်တွေပြသဖို့
api ဆိုတာလိုလာပါတယ်
api ဆိုတာက eg.com/api/products ဒါ api address ပါ
ဒီ link ကိုခေါ်လိုက်ရင် database ကအချက်အလက်တွေကို json နဲ့ပြသပေးထားတယ်ပေါ့
(လူပိန်းနားလည်အောင်ပြောပြခြင်းဖြစ်ပါတယ် နော်ကမှ api အကြောင်းအသေးစိတ်ဆက် ရေးပါမယ်။)
frontend မှာ user login ဖြစ်မဖြစ်ကိုလည်း api ကိုအသုံးပြုကြရမယ်ပေါ့
eg.com/api/login
အဲ့မှ jwt ရဲ့အခန်း ကပါလာပါပီ။
app ရဲ့ logic မှာ user က loginမပဲ ကြည့်နိုင်မဲ့ အချက်အလက်တွေရှိသလို
login လုပ်ပီးမှ မြင်ရမဲ့အချက်အလက်တွေလည်းရှိနေပြန်ပါတယ်။
ဒါကိုအကျဉ်းချုပ်ဘယ်လို လုပ်ရတယ်ဆိုတာကိုဆက်ဆွေးနွေးပါမယ်။
အသေးစိတ်တော့မဟုတ်ပါဘူး ဒါပေမဲ့ ဒီသဘောတရားကိုနားလည်မှ
development လုပ်နိုင်မှာပါ။
user/login view ကနေ user တစ်ယောက်က
username , password ထည့်ပီး login လုပ်ပီဆိုတာနဲ့
api(eg.com/api/login)ကိုလှမ်းခေါ်ပါတယ်
တစ်နည်းအားဖြင့် server ကိုခေါ်ရမှာပေါ့
server ကနေ jwt ကိုအသုံးပြုပီး access token တစ်ခု generate လုပ်ပီး frontend(client)
ကိုပြန်ပို့ပေးရပါမယ်။
frontend က tokenကိုရပီဆိုတာနဲ့ သူက login ဖြစ်သွားကြောင်းအတည်ပြုပီးသွားပြီး
loginဝင်ပီးမှကြည့်ခွင့်ရမဲ့အချက်အလက်တွေကို
access token အသုံးပြုပီး ကြည့်ခွင့်ပေးလိုက်ပါတယ်။
access_token ကလည်း lifetime မဟုတ်ပါဘူး
အချိန်တစ်ခု သတ်မှတ်ပေးထားခြင်းက secure ပိုဖြစ်စေမှာပါ။
access_token ကိုပြန်တောင်းဖို့အတွက် refresh token အသုံးပြုနိုင်ပါတယ်။
ဒီအတွက် react နဲ့ nodejs course လေးလုပ်ဖို့တော့အစီအစဉ်ရှိပါတယ်
စိတ်ဝင်စားတဲ့သူတွေက အောက်မှာ မန့်ခဲ့ပေးပါ။
see you next article guyz