အဓိကအကြောင်းအရာသို့ ကျော်သွားရန်

အခမဲ့ JWT ဖြည်ဆင်စက်

မည်သည့် JSON Web Token ကိုမဆို decode ပြုလုပ်ကာ စစ်ဆေးပါ။ header, payload, expiration နှင့် standard claim ကြည့်ပါ။ browser တွင်သာ ရာနှုန်းပြည့် ဆောင်ရွက် — token များ သင့် device မှ ဘယ်သောအခါမှ မထွက်ပါ。

Load ပြီးသည်နှင့် offline အလုပ်လုပ်သည်

🔒 Token ကို ဘရောက်ဆာတွင်သာ ကုဒ်ဖြည်သည်။ မည်သည့် server မဆို မပေးပို့ပါ။

အသုံးများသော အသုံးပြုမှုများ

  • JWT ဒီကုဒ်အီလျှုံကအီလျှုံကပြဿနာများများုံးခြင်းသင်၏အီလျှုံကမှ JWTs ကိုတူးဖြူးပြီး အီလျှုံကအီလျှုံကပြဿနာများ၊ အီလျှုံကပြဿနာများ နှင့်အီလျှုံကဆုံးအီလျှုံကပြဿနာများုံးခြင်း။
  • အီလျှုံကစမ်းသပ်မှုအချိန်အီလျှုံက အီလျှုံကများကိုတူးဖြူးပါသင်၏API မှစုံုံအီလျှုံက အီလျှုံကများမှန်ကန် အီလျှုံကများ နှင့်အီလျှုံကများစုံုံစီရိုးအီလျှုံကုံးပါ။
  • အကဲအဆေးများကံ JWT အီလျှုံကများအကဲအဆေးများကံအစိတ်အခြားအဖြစ် JWTs သုံးသပ်ပါ — အားနည်းသောအီလျှုံကအီလျှုံကများ၊ အခြားသည့် အီလျှုံကအီလျှုံကများ သို့မဟုတ် payload တွင်ခွင့်ပြုမွန်မွန်ဒေတာကိုစိစစ်ပါ။
  • OAuth နှင့် OpenID Connect အီလျှုံကများကိုတူးဖြူးပါGoogle၊ Auth0၊ Okta၊ Microsoft နှင့် အခြား OAuth ပံ့ပိုးသူများမှ access token၊ ID token နှင့် refresh token များကို ကုဒ်ဖြေပါ။
  • JWT အီလျှုံကများကိုစမ်းသပ်မှုလုံးများအီလျှုံကstructure ကိုနားလည်ရန်သည့် JWT များကိုဒီကုဒ်ပါ။ အီလျှုံကအီလျှုံကအီလျှုံကများကိုကြည့်ပါ။

မည်သို့ အလုပ်လုပ်သည်

Decoder သည် သင့် browser ထဲတွင် လုံးဝ လုပ်ဆောင်သော ကိုယ်တိုင်ရေးထားသော zero-dependency parser ဖြစ်သည်: token ကို dot ပေါ် ခွဲပြီး Base64URL segment တစ်ခုစီကို string replacement ကို သုံး၍ ရိုးရိုး Base64 သို့ ပြောင်းကာ လေးခုမြှောက်တစ်ခုသို့ ပြည့်စေသည်၊ ထို့နောက် header နှင့် payload object များကို ပြန်ယူရန် browser ၏ native atob() နှင့် JSON.parse ကို ခေါ်သည်။ ရွေးချယ်နိုင်သော signature verification သည် Web Crypto API (crypto.subtle.verify) ကို သုံးသည် — library၊ server မပါဝင်ပါ။

  1. 1
    Base64URL ကုဒ်ဖြေခြင်း
    ကိရိယာသည် JWT ကို ၎င်း၏ period delimiter နှစ်ခုပေါ် ခွဲပြီး segment သုံးခု ပေးသည်။ Segment တစ်ခုစီသည် + နှင့် / အစား - နှင့် _ ကို သုံးပြီး padding ချန်ထားသော Base64URL ဖြစ်သည်။ Code သည် ထို character များကို ပြန်ချိတ်ပြီး = ဖြင့် padding ထည့်သည်၊ ထို့နောက် byte များကို decode လုပ်ရန် browser ၏ built-in atob() ကို ခေါ်သည်။
  2. 2
    JSON parsing နှင့် claim ထုတ်ယူခြင်း
    Decode လုပ်ထားသော byte များကို header နှင့် payload object များ ထုတ်ပေးရန် JSON.parse မှတစ်ဆင့် ပေးပို့သည်။ Registered claim exp, iat, နှင့် nbf များကို Unix timestamp များအဖြစ် ထုတ်ယူပြီး Date object များသို့ ပြောင်းလဲသည်၊ expiry status ကို setInterval မှတစ်ဆင့် 20 စက္ကန့်တိုင်း ပြန်စစ်ဆေးသဖြင့် tab ဖွင့်ထားစဉ် သက်တမ်းကုန်သွားသော token တစ်ခုသည် valid မှ expired သို့ အလိုအလျောက် ပြောင်းသွားသည်။ Relative timestamp များ ('in 3 days', '2 hours ago') ကို သင့် browser locale ကို သုံး၍ Intl.RelativeTimeFormat ဖြင့် ဖော်မတ်ချသည်။
  3. 3
    Signature ပြသမှုနှင့် ရွေးချယ်နိုင်သော verification
    Raw Base64URL signature string ကို header နှင့် payload နှင့်အတူ ပြသည်။ Key တစ်ခု ပေးပါက ကိရိယာသည် signature ကို local တွင် စစ်ဆေးရန် crypto.subtle.importKey နှင့် crypto.subtle.verify ကို ခေါ်သည်။ ၎င်းသည် HMAC shared secret များ (HS256/384/512)၊ PEM-encoded RSA public key များ (RS256/384/512) နှင့် ECDSA public key များ သို့မဟုတ် JWK/JWKS object များ (ES256/384/512) — header ရှိ alg field က ဆုံးဖြတ်သည် — ကို လက်ခံသည်။
  4. 4
    Network request မရှိပါ
    အဆင့်တိုင်း — decoding, timestamp math, နှင့် cryptographic verification — ကို browser JavaScript engine အတွင်း လုပ်ဆောင်ပါသည်။ Token နှင့် သင်ထည့်ထားသော key material မည်သည်ကိုမဆို သင့်စက်ကို ဘယ်တော့မှ မထွက်ပါ။

JWT များသည် session credential၊ user identity နှင့် authorization scope များကို မကြာခဏ သယ်ဆောင်ကြသည်၊ ဤကိရိယာသည် ၎င်းတို့ကို atob() နှင့် Web Crypto API ကို သုံး၍ သင့် browser ထဲတွင် လုံးဝ decode လုပ်ပြီး ရွေးချယ်နိုင်သော verify လုပ်ပါသည်၊ ထို့ကြောင့် token သို့မဟုတ် သင်ပေးသော key မည်သည့်တစ်ခုမျှ ဘယ်နေရာသို့မှ ဘယ်တော့မှ မပို့ပါ။

ဆက်နွှယ်သော ကိရိယာများ

မကြာခဏ မေးလေ့မေးထရှိသော မေးခွန်းများ