JSON Web Tokens (JWTs) आधुनिक ऑथेंटिकेशन की रीढ़ हैं — API ऑथराइज़ेशन से लेकर सिंगल साइन-ऑन तक। लेकिन जब कुछ गलत होता है, तो आपको समस्या खोजने के लिए टोकन को जल्दी से डिकोड और इंस्पेक्ट करना होता है। यह गाइड बताती है कि JWT कैसे काम करते हैं, प्रत्येक भाग में क्या होता है, और हमारे फ्री JWT डिकोडर का उपयोग करके बिना किसी थर्ड-पार्टी सर्वर को एक्सपोज़ किए टोकन कैसे डीबग करें।
JWT टोकन डिकोड करें — फ्री और प्राइवेट
कोई भी JWT पेस्ट करें और तुरंत decoded header, payload claims, expiry status और algorithm देखें। कोई साइनअप नहीं, कोई सर्वर नहीं।
JSON Web Token (JWT) क्या है?
JSON Web Token (JWT, उच्चारण "जॉट") एक कॉम्पैक्ट, URL-safe स्ट्रिंग है जिसका उपयोग दो पक्षों के बीच सुरक्षित रूप से जानकारी भेजने के लिए किया जाता है। यह RFC 7519 द्वारा परिभाषित है और वेब एप्लिकेशन और APIs में ऑथेंटिकेशन और ऑथराइज़ेशन के लिए व्यापक रूप से उपयोग किया जाता है।
JWT क्यों लोकप्रिय हैं
- Stateless: सर्वर को सेशन डेटा स्टोर करने की ज़रूरत नहीं — टोकन में सारी जानकारी होती है।
- Compact: HTTP headers, URL parameters या cookies में भेजने के लिए काफी छोटे।
- Self-contained: पेलोड में यूज़र आइडेंटिटी और परमिशन होती हैं, जिससे डेटाबेस लुकअप कम होते हैं।
- Cross-domain: विभिन्न डोमेन और माइक्रोसर्विसेज में आसानी से काम करता है।
JWT का उपयोग Google, Auth0, Firebase, AWS Cognito जैसे प्रमुख प्लेटफ़ॉर्म और OAuth 2.0 या OpenID Connect का उपयोग करने वाले हर आधुनिक API द्वारा किया जाता है।
JWT संरचना: Header, Payload और Signature
हर JWT में तीन भाग होते हैं जो डॉट (.) से अलग होते हैं:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.signature
प्रत्येक भाग Base64URL-encoded JSON है:
1. Header
Header में आमतौर पर दो फ़ील्ड होते हैं:
- alg: साइनिंग एल्गोरिथम (जैसे HS256, RS256, ES256)
- typ: टोकन टाइप, आमतौर पर "JWT"
{
"alg": "HS256",
"typ": "JWT"
}
2. Payload (Claims)
Payload में claims होते हैं — यूज़र और मेटाडेटा के बारे में स्टेटमेंट। तीन प्रकार हैं:
| प्रकार | उदाहरण | विवरण |
|---|---|---|
| Registered | iss, sub, exp, iat, aud | JWT स्टैंडर्ड द्वारा पूर्वनिर्धारित |
| Public | name, email, role | कस्टम लेकिन आमतौर पर उपयोग किए जाने वाले |
| Private | company_id, plan | आपके ऐप के लिए कस्टम claims |
3. Signature
Signature एन्कोडेड header और payload को secret key (HMAC) या private key (RSA/ECDSA) से साइन करके बनाया जाता है। यह सुनिश्चित करता है कि टोकन में कोई छेड़छाड़ नहीं हुई है।
सामान्य JWT Claims की व्याख्या
ऑथेंटिकेशन समस्याओं को डीबग करने के लिए स्टैंडर्ड claims को समझना ज़रूरी है:
| Claim | पूरा नाम | विवरण | उदाहरण |
|---|---|---|---|
| iss | Issuer | टोकन किसने बनाया और साइन किया | "https://auth.example.com" |
| sub | Subject | टोकन किस यूज़र या एंटिटी को दर्शाता है | "user_1234" |
| aud | Audience | इच्छित प्राप्तकर्ता (API या सर्विस) | "https://api.example.com" |
| exp | Expiration | Unix timestamp जब टोकन एक्सपायर होता है | 1711756800 |
| iat | Issued At | Unix timestamp जब टोकन बनाया गया | 1711670400 |
| nbf | Not Before | इस समय से पहले टोकन अमान्य है | 1711670400 |
| jti | JWT ID | रीप्ले अटैक रोकने के लिए यूनिक आइडेंटिफायर | "abc-123-def" |
अगर आपका API 401 Unauthorized रिटर्न करता है, तो सबसे पहले exp claim चेक करें — एक्सपायर्ड टोकन auth फेलियर का #1 कारण है।
JWT साइनिंग एल्गोरिथम: HS256 vs RS256 vs ES256
JWT header में एल्गोरिथम निर्धारित करता है कि signature कैसे बनाया और verify किया जाता है:
| एल्गोरिथम | प्रकार | Key | सबसे अच्छा |
|---|---|---|---|
| HS256 | HMAC + SHA-256 | Shared secret | सिंपल ऐप्स, सेम-सर्वर auth |
| RS256 | RSA + SHA-256 | Public/private key pair | माइक्रोसर्विसेज, थर्ड-पार्टी verification |
| ES256 | ECDSA + SHA-256 | Public/private key pair | मोबाइल ऐप्स, परफॉर्मेंस-सेंसिटिव |
कौन सा उपयोग करें?
- HS256: सबसे सरल — जब issuer और verifier दोनों एक ही secret शेयर करते हैं।
- RS256: डिस्ट्रिब्यूटेड सिस्टम के लिए सबसे आम — Auth0, Google, AWS Cognito द्वारा उपयोग किया जाता है।
- ES256: RSA से छोटे signatures और तेज़ verification — मोबाइल और IoT के लिए आदर्श।
JWT टोकन ऑनलाइन कैसे डिकोड करें
हमारा फ्री JWT डिकोडर आपको बिना सर्वर पर भेजे किसी भी टोकन को तुरंत इंस्पेक्ट करने देता है:
स्टेप-बाय-स्टेप
- अपना JWT कॉपी करें — ब्राउज़र DevTools (Application → Cookies या Network → Headers), API रिस्पॉन्स, या टर्मिनल से।
- डिकोडर में पेस्ट करें — टूल तुरंत टोकन को तीन भागों में विभाजित करता है।
- Header इंस्पेक्ट करें — एल्गोरिथम (
alg) और टोकन टाइप चेक करें। - Payload claims रिव्यू करें — सभी claims देखें जिसमें यूज़र इन्फो, roles और timestamps शामिल हैं।
- टोकन वैलिडिटी चेक करें — टूल
expको आपके वर्तमान समय से तुलना करता है और "Valid" या "Expired" बैज दिखाता है।
हमारा डिकोडर 100% आपके ब्राउज़र में JavaScript का उपयोग करके चलता है। आपका JWT टोकन कभी आपके डिवाइस से बाहर नहीं जाता।
सामान्य JWT समस्याओं को डीबग करना
जब ऑथेंटिकेशन टूटता है, तो JWT अक्सर कारण होता है। यहाँ सबसे आम समस्याएँ हैं:
1. टोकन एक्सपायर्ड (401 Unauthorized)
टोकन डिकोड करें और exp claim चेक करें। अगर यह बीते हुए समय में है, तो टोकन एक्सपायर हो चुका है। समाधान: refresh token endpoint से नया टोकन प्राप्त करें।
2. Invalid Audience (403 Forbidden)
aud claim API की उम्मीद से मेल नहीं खाता। ऐसा तब होता है जब आप एक API के लिए बने टोकन का दूसरे API में उपयोग करते हैं।
3. टोकन अभी तक वैलिड नहीं
अगर nbf (Not Before) claim भविष्य के समय पर सेट है, तो टोकन अभी स्वीकार नहीं किया जाएगा।
4. ज़रूरी Claims गायब
कुछ APIs को role, scope, या permissions जैसे विशिष्ट claims चाहिए। टोकन डिकोड करके verify करें कि ये claims मौजूद हैं।
5. Algorithm Mismatch
सर्वर RS256 उम्मीद करता है लेकिन टोकन HS256 उपयोग करता है (या इसके विपरीत)।
6. Clock Skew
अगर iat verifying सर्वर के सापेक्ष थोड़ा भविष्य में है, तो यह टोकन reject कर सकता है।
JWT सुरक्षा सर्वोत्तम प्रथाएँ
JWT शक्तिशाली हैं लेकिन गलत उपयोग से खतरनाक हो सकते हैं। इन best practices का पालन करें:
- टोकन को शॉर्ट-लिव्ड रखें: Access tokens के लिए
exp15-60 मिनट सेट करें। लंबे सेशन के लिए refresh tokens उपयोग करें। - Payload में secrets कभी न रखें: JWT encoded हैं, encrypted नहीं — कोई भी payload पढ़ सकता है। पासवर्ड या API keys कभी claims में न डालें।
- हमेशा algorithm validate करें: "alg: none" अटैक रोकने के लिए सर्वर-साइड expected algorithm सेट करें।
- सिर्फ HTTPS उपयोग करें: Man-in-the-middle इंटरसेप्शन रोकने के लिए टोकन सिर्फ HTTPS पर भेजें।
- टोकन सुरक्षित रूप से स्टोर करें: XSS अटैक रोकने के लिए HttpOnly cookies उपयोग करें (localStorage नहीं)।
- सभी claims validate करें: सिर्फ signature नहीं —
iss,aud,exp, औरnbfभी सर्वर-साइड verify करें।
प्रोडक्शन credentials वाले JWT को कभी भी थर्ड-पार्टी वेबसाइट पर डिकोड न करें। हमारे जैसे प्राइवेसी-फर्स्ट टूल का उपयोग करें जो सब कुछ लोकल प्रोसेस करता है।
JWT vs Session Tokens vs API Keys
सही ऑथेंटिकेशन मैकेनिज़्म चुनना आपके use case पर निर्भर करता है:
| फीचर | JWT | Session Token | API Key |
|---|---|---|---|
| Stateless | हाँ — self-contained | नहीं — सर्वर-साइड स्टोर चाहिए | नहीं — सर्वर लुकअप चाहिए |
| Expiry | बिल्ट-इन (exp claim) | सर्वर-managed | आमतौर पर expire नहीं होता |
| Revocation | कठिन (blocklist चाहिए) | आसान (स्टोर से delete) | आसान (key delete) |
| Payload data | हाँ (claims) | नहीं (सिर्फ ID) | नहीं (सिर्फ key) |
| Cross-domain | आसान (Bearer header) | कठिन (cookie domain limits) | आसान (header) |
| सबसे अच्छा | SPAs, माइक्रोसर्विसेज, OAuth | पारंपरिक वेब ऐप्स | Server-to-server, थर्ड-पार्टी |
कई आधुनिक ऐप्स एक कॉम्बिनेशन उपयोग करते हैं: शॉर्ट-लिव्ड access tokens के लिए JWT, HttpOnly cookies में refresh tokens, और external integrations के लिए API keys।
How to Use the Tool (Step by Step)
- 1
अपना JWT टोकन कॉपी करें
ब्राउज़र DevTools (Cookies या Network tab), API रिस्पॉन्स, या टर्मिनल आउटपुट से टोकन लें।
- 2
डिकोडर में पेस्ट करें
JWT Decoder टूल खोलें और टोकन पेस्ट करें। यह तुरंत header, payload और signature में विभाजित हो जाता है।
- 3
Header और Algorithm इंस्पेक्ट करें
डिकोडेड header में साइनिंग एल्गोरिथम (HS256, RS256, आदि) और टोकन टाइप चेक करें।
- 4
Payload Claims रिव्यू करें
सभी claims जाँचें — यूज़र ID, roles, permissions, issued time और expiration।
- 5
टोकन वैलिडिटी चेक करें
टूल स्वचालित रूप से expiry time को आपके वर्तमान समय से तुलना करता है और दिखाता है कि टोकन वैलिड है या एक्सपायर्ड।
Frequently Asked Questions
क्या यह टूल JWT signature verify कर सकता है?+−
नहीं। Signature verification के लिए secret key या public key चाहिए, जो कभी ब्राउज़र टूल में पेस्ट नहीं करनी चाहिए। हमारा डिकोडर सिर्फ Base64-encoded header और payload पढ़ता है।
क्या मेरा JWT टोकन सर्वर पर भेजा जाता है?+−
नहीं। सारी डिकोडिंग 100% आपके ब्राउज़र में JavaScript से होती है। आपका टोकन कभी आपके डिवाइस से बाहर नहीं जाता।
JWT एक्सपायर्ड होने का क्या मतलब है?+−
एक्सपायर्ड JWT का मतलब है कि वर्तमान समय "exp" claim के Unix timestamp से आगे निकल गया है। किसी भी सही तरीके से कॉन्फ़िगर सर्वर द्वारा टोकन reject किया जाएगा।
क्या मैं secret key के बिना JWT डिकोड कर सकता हूँ?+−
हाँ। JWT का header और payload सिर्फ Base64URL-encoded है, encrypted नहीं। कोई भी इन्हें पढ़ सकता है। Secret key सिर्फ signature verify करने के लिए चाहिए।
HS256 और RS256 में क्या अंतर है?+−
HS256 एक shared secret key उपयोग करता है (symmetric)। RS256 private key से sign और public key से verify करता है (asymmetric)। RS256 distributed systems के लिए बेहतर है।
JWT को localStorage में क्यों नहीं रखना चाहिए?+−
localStorage पेज पर चलने वाली किसी भी JavaScript से accessible है, जिससे टोकन XSS अटैक के लिए vulnerable हो जाते हैं। HttpOnly cookies ज़्यादा सुरक्षित हैं।
JWT टोकन डिकोड करें — फ्री और प्राइवेट
कोई भी JWT पेस्ट करें और तुरंत decoded header, payload claims, expiry status और algorithm देखें। कोई साइनअप नहीं, कोई सर्वर नहीं।
JWT Decoder खोलें →Related Guides
Hash Generator — MD5, SHA-256 Online Guide Hindi (2026)
MD5, SHA-256, SHA-512 hashes online generate करें — hashing समझें, file verify करें।
Base64 Encode & Decode — क्या है, कैसे काम करता है? (Developer Guide)
Base64 encoding की पूरी जानकारी — use cases, online decoder, और common pitfalls
Password कितना Strong है? — Password Security की पूरी जानकारी
Password strength check करें और जानें कि secure password कैसे बनाएं
Regex Tester — Regular Expressions Test करें Free (2026)
Regex patterns test और debug — real-time matching, cheat sheet। Free, browser-based।