အခမဲ့ JWT ဖြည်ဆင်စက်
မည်သည့် JSON Web Token ကိုမဆို decode ပြုလုပ်ကာ စစ်ဆေးပါ။ header, payload, expiration နှင့် standard claim ကြည့်ပါ။ browser တွင်သာ ရာနှုန်းပြည့် ဆောင်ရွက် — token များ သင့် device မှ ဘယ်သောအခါမှ မထွက်ပါ。
🔒 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 မပါဝင်ပါ။
- 1Base64URL ကုဒ်ဖြေခြင်းကိရိယာသည် JWT ကို ၎င်း၏ period delimiter နှစ်ခုပေါ် ခွဲပြီး segment သုံးခု ပေးသည်။ Segment တစ်ခုစီသည် + နှင့် / အစား - နှင့် _ ကို သုံးပြီး padding ချန်ထားသော Base64URL ဖြစ်သည်။ Code သည် ထို character များကို ပြန်ချိတ်ပြီး = ဖြင့် padding ထည့်သည်၊ ထို့နောက် byte များကို decode လုပ်ရန် browser ၏ built-in atob() ကို ခေါ်သည်။
- 2JSON 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 ဖြင့် ဖော်မတ်ချသည်။
- 3Signature ပြသမှုနှင့် ရွေးချယ်နိုင်သော verificationRaw 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 က ဆုံးဖြတ်သည် — ကို လက်ခံသည်။
- 4Network 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 မည်သည့်တစ်ခုမျှ ဘယ်နေရာသို့မှ ဘယ်တော့မှ မပို့ပါ။
ဆက်နွှယ်သော ကိရိယာများ
URL Encoder နှင့် Decoder
URL များနှင့် query strings များကို စာဝှက်ပြီး ကုဒ်လုပ်ပါ။ ကုဒ်URIComponent၊ decodeURIComponent နှင့် query string parsing ကို ပံ့ပိုးပေးသည်။
UUID စစ်ဆေးစက်
မည်သည့် UUID သို့မဟုတ် ULID ကိုမဆို decode လုပ်ပါ — version၊ variant နှင့် v1, v6, v7 နှင့် ULID များတွင် ဆည်းဆာထားသော ဖန်တီးချိန် timestamp ကို ကြည့်ပါ။ browser တွင်သာ လုံးဝ အလုပ်လုပ်သည်။
Base64 ကုဒ်ဝှက်/ဖြည်စက်
စာသား သို့မဟုတ် ဖိုင်ကို Base64 သို့ encode ပြုလုပ်ပါ၊ သို့မဟုတ် Base64 string ကို ရိုးရှင်းသော စာသားသို့ decode ပြန်ပါ။ ချက်ချင်း၊ ကိုယ်ပိုင် နှင့် အခမဲ့。