JWT डिकोडर
JWT टोकन डिकोड करके उसकी सामग्री देखें
JWT की संरचना और उसे डिकोड करना
JWT (JSON Web Token) बिंदु (.) से अलग किए गए तीन हिस्सों से बनता है — हेडर, पेलोड और हस्ताक्षर। हेडर में हस्ताक्षर एल्गोरिद्म (alg) और टोकन प्रकार (typ) होता है, जबकि पेलोड में उपयोगकर्ता पहचान, अधिकार, जारी करने का समय (iat) और समाप्ति समय (exp) जैसे दावे रहते हैं। पहले दो हिस्से केवल Base64URL में एन्कोड होते हैं, इसलिए बिना किसी कुंजी के भी पढ़े जा सकते हैं।
टोकन यहाँ चिपकाने पर हेडर और पेलोड सुव्यवस्थित JSON के रूप में दिखते हैं, और हस्ताक्षर भी ज्यों का त्यों दिखता है। यदि पेलोड में exp मौजूद हो तो टूल उसे पढ़कर बताता है कि टोकन अब भी वैध है या समाप्त हो चुका। जब कोई API 401 लौटाए, तो यह जानने का यह सबसे तेज़ तरीका है कि टोकन समाप्त हुआ है या दावे अपेक्षा से भिन्न हैं।
यह टूल केवल डिकोड करता है, हस्ताक्षर की जाँच नहीं करता। जाँच के लिए गुप्त या सार्वजनिक कुंजी चाहिए और वह सर्वर का दायित्व है। दूसरी ओर, पेलोड का पढ़ा जा सकना JWT की मूल रचना ही है — इसीलिए इसमें गोपनीय जानकारी कभी नहीं रखनी चाहिए। डिकोडिंग ब्राउज़र में होती है और चिपकाया गया टोकन कहीं नहीं भेजा जाता।
अक्सर पूछे जाने वाले सवाल
- क्या JWT एन्क्रिप्टेड होता है?
- मानक JWT में हेडर और पेलोड केवल Base64URL एन्कोडेड होते हैं, एन्क्रिप्टेड नहीं। टोकन रखने वाला कोई भी इन्हें पढ़ सकता है, इसलिए पासवर्ड जैसी गोपनीय जानकारी इसमें न डालें।
- क्या यह हस्ताक्षर की जाँच कर सकता है?
- नहीं, यह केवल डिकोडर है। जाँच के लिए हस्ताक्षर कुंजी चाहिए और यह काम सर्वर पर होना चाहिए, इसलिए इसे जान-बूझकर शामिल नहीं किया गया।
- समाप्ति कैसे तय की जाती है?
- पेलोड से exp दावा (UNIX टाइमस्टैम्प) पढ़कर उसकी तुलना वर्तमान समय से की जाती है।
- क्या चिपकाया गया टोकन कहीं भेजा जाता है?
- नहीं, डिकोडिंग पूरी तरह स्थानीय है। फिर भी ध्यान रखें कि वैध टोकन एक जीवित प्रमाण-पत्र है, इसलिए साझा कंप्यूटर पर उपयोग के बाद पृष्ठ बंद कर दें।