JWT डिकोडर/डीबगर

अपने header और payload को देखने के लिए JWT टोकन डिकोड करें, और अपने आप जाँचें कि वह समाप्त हो चुका है (exp) या अभी सक्रिय नहीं हुआ है (nbf)। डिकोडिंग पूरी तरह आपके ब्राउज़र में होती है — सेशन डीबग करने के लिए उपयोगी, और टोकन कभी किसी सर्वर को नहीं भेजा जाता।

उदाहरण:

⚠ ध्यान दें: सिग्नेचर की जाँच नहीं की गई है। यह टूल टोकन की सामग्री डिकोड करता है और केवल payload में घोषित exp/nbf तिथियों की जाँच करता है। यह किसी भी तरह साबित नहीं करता कि टोकन प्रामाणिक है या उसमें बदलाव नहीं किया गया है: सिग्नेचर का क्रिप्टोग्राफ़िक सत्यापन हमेशा सर्वर-साइड पर, जारीकर्ता की सीक्रेट या पब्लिक कुंजी के साथ किया जाना चाहिए।

यह कैसे काम करता है

एक JWT तीन हिस्सों से बना होता है, जो बिंदुओं (डॉट) से अलग होते हैं: header.payload.signature। Header और payload Base64URL में एन्कोड होते हैं — एन्क्रिप्टेड नहीं — इसलिए कोई भी इन्हें बिना कुंजी के पढ़ सकता है। सामान्य डिकोडिंग के अलावा, यह टूल स्टैंडर्ड क्लेम exp (समाप्ति) और nbf ("not before") को पढ़ता है और उनकी तुलना आपके डिवाइस के मौजूदा समय से करता है, ताकि तुरंत पता चल जाए कि केवल इस समय-संबंधी शर्त के आधार पर JWT मानक का पालन करने वाला कोई सर्वर इस टोकन को स्वीकार करेगा या अस्वीकार।

exp और nbf का ठीक-ठीक मतलब क्या है?

exp (समाप्ति) एक Unix टाइमस्टैम्प है, जिसके बाद टोकन को समाप्त माना जाना चाहिए। nbf ("not before") एक टाइमस्टैम्प है, जिससे पहले टोकन को अभी स्वीकार नहीं किया जाना चाहिए; यह उन टोकन के लिए उपयोगी है जिन्हें बाद में सक्रिय होने के लिए शेड्यूल किया गया हो। दोनों वैकल्पिक हैं: इनका न होना यह बताता है कि टोकन खुद इस तरह की कोई समय-सीमा नहीं लगाता।

यहाँ टोकन मान्य है, फिर भी मेरी API उसे अस्वीकार क्यों कर रही है?

क्योंकि यह टूल केवल संरचना और घोषित तिथियों की जाँच करता है, सिग्नेचर की कभी नहीं। कोई API किसी टोकन को दूसरे कारणों से भी अस्वीकार कर सकती है: अमान्य सिग्नेचर, गलत जारीकर्ता (iss) या ऑडियंस (aud), सर्वर की ओर से रद्द किया गया टोकन, या गायब बिज़नेस क्लेम — जारीकर्ता की सीक्रेट/पब्लिक कुंजी तक पहुँच के बिना इनमें से कोई भी जाँच संभव नहीं है, और यह हमेशा सर्वर-साइड ऑपरेशन ही रहेगा।

गोपनीयता: डिकोडिंग और तिथि की जाँच पूरी तरह आपके ब्राउज़र में WebAssembly के ज़रिए होती है — टोकन की सामग्री, संवेदनशील होने पर भी, आपके डिवाइस से बाहर नहीं जाती।