JWT डिकोडर क्या है?
एक JWT (JSON वेब टोकन) आधुनिक वेब API में प्रमाणीकरण और प्राधिकरण क्लेम्स को प्रस्तुत करने का मानक तरीका है। यह एक कॉम्पैक्ट, स्व-निहित टोकन है जो तीन भागों से बना होता है — एक हेडर जो साइनिंग एल्गोरिदम बताता है, एक पेलोड जो वास्तविक क्लेम्स (जैसे यूज़र ID, भूमिकाएं, और एक्सपायरी) ले जाता है, और एक सिग्नेचर जो रिसीविंग सर्वर को यह सत्यापित करने देता है कि टोकन के साथ छेड़छाड़ नहीं हुई है।
यह डिकोडर हेडर और पेलोड को तुरंत पढ़ता है ताकि आप प्रमाणीकरण समस्याओं को डीबग कर सकें, यह जांच सकें कि कोई API वास्तव में कौन से क्लेम्स भेज रहा है, या यह देख सकें कि टोकन कब एक्सपायर होता है — यह सब बिना किसी बैकएंड, CLI टूल के, या संवेदनशील टोकन को किसी तीसरे-पक्ष के सर्वर पर पेस्ट किए बिना, क्योंकि सब कुछ आपके ब्राउज़र में स्थानीय रूप से चलता है।
इस कैलकुलेटर का उपयोग कब करें
- किसी API द्वारा टोकन अस्वीकार करने के कारण को उसके क्लेम्स और एक्सपायरी समय की जांच करके डीबग करना
- सपोर्ट जांच या घटना प्रतिक्रिया के दौरान टोकन की एक्सपायरी टाइम जांचना
- यह सत्यापित करना कि SSO या OAuth प्रदाता वही दावे जारी कर रहा है जिनकी आपका एप्लिकेशन अपेक्षा करता है।
- इंटरव्यू की तैयारी या सुरक्षा कोर्सवर्क के लिए JWT की संरचना सीखना
- ब्राउज़र डेवलपर टूल्स या सर्वर लॉग से कैप्चर किए गए टोकन की सामग्री समझने के लिए जांच करना
- एल्गोरिदम-मिसमैच प्रमाणीकरण विफलताओं को डीबग करने के लिए टोकनों के बीच हेडर एल्गोरिदम की तुलना करना
चरण:
- अपने JWT को इनपुट बॉक्स में पेस्ट करें, या "उदाहरण लोड करें" पर क्लिक करें।
- टाइप करते ही हेडर और पेलोड स्वचालित रूप से डिकोड हो जाते हैं।
- iss, sub, exp, और iat जैसे क्लेम्स को साफ़ पठनीय रूप में देखें।
- टाइमस्टैम्प क्लेम्स (exp, iat, nbf) को स्वचालित रूप से पठनीय तारीखों में बदला जाता है।
सूत्र
JWT = base64Url(header) + "." + base64Url(payload) + "." + base64Url(signature)
डिकोडिंग: "." पर विभाजित करें, पहले दो भागों को base64Url-डिकोड करें, JSON के रूप में पार्स करें।
सत्यापन (यहाँ नहीं किया जाता): HMACSHA256(base64Url(header) + "." + base64Url(payload), secret) === signature
उपयोग के मामले
- किसी API द्वारा टोकन अस्वीकार करने के कारण को समझने के लिए उसके क्लेम्स की जांच करना
- सपोर्ट जांच के दौरान टोकन की एक्सपायरी टाइम जांचना
- यह सत्यापित करना कि SSO या OAuth प्रदाता आपकी अपेक्षित क्लेम्स जारी कर रहा है
- इंटरव्यू की तैयारी या कोर्सवर्क के लिए JWT की संरचना सीखना
- ब्राउज़र डेवलपर टूल्स या सर्वर लॉग से पेस्ट किए गए टोकन की जल्दी जांच करना
मुख्य लाभ
- किसी भी बैकएंड या CLI टूल के बिना किसी भी JWT को तुरंत डिकोड करें
- सब कुछ क्लाइंट-साइड चलता है — टोकन कभी सर्वर पर नहीं भेजे जाते
- टाइमस्टैम्प क्लेम्स को स्वचालित रूप से पठनीय तारीखों में बदलता है
- मुफ़्त, बिना साइन-अप, किसी भी एल्गोरिदम के JWT पर काम करता है
प्रो टिप्स
- "unauthorized" त्रुटि डीबग करते समय हमेशा पहले 'exp' जांचें — एक्सपायर टोकन इसका सबसे सामान्य कारण है
- एल्गोरिदम-मिसमैच बग पकड़ने के लिए हेडर के 'alg' की तुलना अपने बैकएंड की अपेक्षा से करें
- सर्वर-साइड पर सिग्नेचर सत्यापित किए बिना डिकोड किए गए पेलोड को कभी भी पहचान का प्रमाण न मानें
- लंबे समय तक चलने वाले JWT के बजाय शॉर्ट-लिव्ड टोकन और रिफ्रेश टोकन का उपयोग करें ताकि लीक होने पर जोखिम सीमित रहे
सामान्य गलतियाँ जिनसे बचना चाहिए
- डिकोड किए गए JWT को सत्यापित JWT मान लेना — डिकोडिंग केवल सामग्री पढ़ती है, प्रामाणिकता की पुष्टि नहीं करती
- पेलोड में संवेदनशील डेटा (पासवर्ड, सीक्रेट) संग्रहीत करना, यह भूलकर कि इसे कोई भी पढ़ सकता है
- अविश्वसनीय ऑनलाइन डिकोडरों में प्रोडक्शन टोकन पेस्ट करना
- टोकन जीवनकाल डीबग करते समय 'exp' (एक्सपायरेशन) को 'iat' (जारी किया गया) के साथ भ्रमित करना
मुख्य शर्तें समझाई गईं
- क्लेम: विषय के बारे में बताई गई जानकारी का एक टुकड़ा, जैसे यूज़र ID या भूमिका
- हेडर: पहला JWT खंड, जो साइनिंग एल्गोरिदम और टोकन प्रकार बताता है
- पेलोड: दूसरा JWT खंड, जिसमें वास्तविक क्लेम्स होते हैं
- सिग्नेचर: तीसरा JWT खंड, जो यह सत्यापित करने के लिए उपयोग होता है कि टोकन में बदलाव नहीं हुआ है
संबंधित अवधारणाएँ
- हैश जेनरेटर:
- UUID जेनरेटर:
- Base64 एन्कोडर/डीकोडर:
- JSON फ़ॉर्मेटर:
- पासवर्ड शक्ति जांचक:
उदाहरण
eyJhbGciOiJIUzI1NiJ9 से शुरू होने वाला टोकन {"alg":"HS256","typ":"JWT"} हेडर में डिकोड होता है — यानी टोकन HMAC-SHA256 से साइन किया गया है।
आपके परिणामों की व्याख्या
डिकोडर JWT को दो डॉट सेपरेटर पर विभाजित करता है और पहले दो सेगमेंट को Base64URL से डिकोड करता है। हेडर साइनिंग एल्गोरिदम (जैसे HS256 या RS256) और टोकन प्रकार बताता है। पेलोड में वास्तविक दावे होते हैं — उपयोगकर्ता पहचान, अनुमतियाँ और टाइमस्टैम्प।
टाइमस्टैम्प दावे (exp, iat, nbf) स्वचालित रूप से यूनिक्स इपॉक से पठनीय तिथियों में बदल जाते हैं। यदि 'exp' अतीत की तिथि दिखाता है, तो टोकन समाप्त हो चुका है और अधिकांश सर्वर इसे अस्वीकार कर देंगे। 'sub' (विषय) दावे में आमतौर पर उपयोगकर्ता ID होती है, और 'iss' (जारीकर्ता) उस सर्वर की पहचान करता है जिसने टोकन बनाया।
याद रखें कि डिकोडिंग सत्यापन नहीं है। सिग्नेचर अनुभाग प्रदर्शित होता है लेकिन गुप्त या सार्वजनिक कुंजी के बिना सत्यापित नहीं किया जा सकता। डिकोड किया गया पेलोड केवल सूचनात्मक है — सर्वर-साइड सिग्नेचर सत्यापन के बिना इसे कभी भी पहचान के प्रमाण के रूप में न मानें।

