JWT डिकोडर (header, payload, signature, expiry)
JWT पेस्ट करें और header और payload को JSON के रूप में तुरंत decode करें। Standard claims (iat, exp, nbf) पहचानता है और Unix timestamps को ISO 8601 में बदलता है। समाप्त या अभी-तक-वैध-नहीं tokens को flag करता है।
पूरी तरह आपके ब्राउज़र में decoded। Token network पर कभी नहीं जाता।
Header
{
"alg": "HS256",
"typ": "JWT"
}Payload
{
"sub": "1234567890",
"name": "Jane Doe",
"iat": 1730000000,
"exp": 4886000000
}- Signature मौजूद
- ✓
- जारी किया (iat)
- 2024-10-27T03:33:20.000Z
- समाप्त (exp)
- 2124-10-30T22:13:20.000Z
कैसे काम करता है
JWT कैसा दिखता है
JWT तीन Base64url-encoded segments होते हैं जो dots से जुड़े होते हैं: header.payload.signature। प्रत्येक segment URL-safe transmission के लिए encoded एक JSON object है। Header signing algorithm declare करता है, payload claims (subject, expiry, custom data) वहन करता है, और signature recipient को integrity verify करने देता है।
यह decoder केवल पहले दो segments पढ़ता है। Signature तीसरा segment है लेकिन इसे verify करने के लिए secret/public key की आवश्यकता है।
जानने योग्य Standard claims
iss (issuer): किसने token बनाया। iat (issued at): कब, Unix timestamp के रूप में। exp (expiry): यह कब वैध नहीं रहता, Unix में। nbf (not before): सबसे पहला समय जब इसका सम्मान किया जाना चाहिए। sub (subject): यह किसका प्रतिनिधित्व करता है, अक्सर user ID। aud (audience): token किसके लिए है।
सभी अनिवार्य नहीं हैं; minimal JWTs में अक्सर केवल sub + iat + exp होते हैं।
Decoding ≠ Verifying क्यों है
कोई भी JWT decode कर सकता है — header और payload केवल Base64-encoded JSON हैं। इसीलिए हम कहते हैं 'payload में कभी secrets न डालें': वे effectively public हैं।
Verification का मतलब है secret key (HMAC) या public key (RSA/ECDSA) के विरुद्ध signature जाँचना। Verification के बिना, आप payload के किसी भी claim पर भरोसा नहीं कर सकते।
Debugging के दौरान tokens inspect करने के लिए इस टूल का उपयोग करें। Production में उन्हें verify करने के लिए server पर JWT library का उपयोग करें।
अक्सर पूछे जाने वाले प्रश्न
›क्या मैं signature verify कर सकता हूँ?
नहीं — verification के लिए secret या public key की आवश्यकता है। Server-side JWT library का उपयोग करें।
›क्या token मेरा ब्राउज़र छोड़ता है?
कभी नहीं। Decoding locally चलता है; हमारे पास इसे receive करने का कोई server endpoint नहीं है।
›मेरा token 'invalid' क्यों है?
सामान्य: copy-paste ने whitespace जोड़ा/हटाया, तीन segments में से एक गायब है, या एक segment malformed Base64url है।
›Base64url बनाम Base64 क्या है?
Base64url '+' को '-' से, '/' को '_' से बदलता है और '=' padding हटाता है ताकि encoded string URLs में safe हो। JWTs हमेशा Base64url उपयोग करते हैं।
›मेरा Unicode payload garbled text क्यों दिखाता है?
हम UTF-8 decode करते हैं, जो standard है। यदि payload अलग तरह से encode किया गया था, तो JSON.parse विफल हो सकता है।
›क्या HS256 secure है?
यदि secret पर्याप्त लंबा है (≥256 bits) और secret रखा जाए, तो हाँ। कमजोर secrets और alg='none' accept करना सामान्य HS256 कमजोरियाँ हैं।
›HS256 से RS256 क्यों prefer करें?
RS256 (asymmetric RSA) आपको signing key private रखते हुए verification के लिए public key publish करने देता है। HS256 (symmetric HMAC) के लिए हर verifier के साथ secret share करना आवश्यक है।
›क्या मैं huge tokens decode कर सकता हूँ?
व्यावहारिक सीमा ~10 MB input है। JWTs आमतौर पर 4 KB से कम होते हैं।
संबंधित टूल्स
अंतिम अपडेट: