JWT डिकोडर और सत्यापनकर्ता
एक JSON Web Token पेस्ट करें और उसे वैसे पढ़ें जैसे आपके सर्वर को पढ़ना चाहिए: हेडर और पेलोड पठनीय JSON में डिकोड किए हुए, समय दावे समयरेखा के रूप में खींचे हुए — जारी किया गया, कब से वैध, समाप्ति, समाप्त — और HS256, HS384 और HS512 के लिए, आपके दिए रहस्य के विरुद्ध असली हस्ताक्षर सत्यापन। सब कुछ आपके ब्राउज़र में होता है। टोकन एक क्रेडेंशियल है, और इस साइट पर क्रेडेंशियल लॉग होने वाले AI चैट या अजनबियों के सर्वर में पेस्ट नहीं किए जाते।
टोकन क्या है, और डिकोडिंग क्या साबित करती है
JWT बिंदुओं से जुड़े तीन Base64URL खंड हैं: हस्ताक्षर एल्गोरिदम का नाम देने वाला हेडर, दावों का पेलोड, और पहले दो पर हस्ताक्षर। बीच वाला खंड — जिसे हर कोई पढ़ना चाहता है — एक एन्कोडिंग है, एन्क्रिप्शन नहीं: Base64 डिकोडर उसे बिना किसी कुंजी के खोल देता है, और इसीलिए टोकन में कभी ऐसी चीज़ नहीं होनी चाहिए जिसे आप पोस्टर पर नहीं छापेंगे। हस्ताक्षर जो जोड़ता है वह है उद्गम: एक दावा संपादित करें और HMAC मेल नहीं खाएगा, बशर्ते सत्यापनकर्ता सच में जांचे — घटना रिपोर्टों को भरने वाली विफलताएं वे सर्वर हैं जिन्होंने सत्यापन किए बिना डिकोड करके भरोसा कर लिया, वे लाइब्रेरी हैं जिन्होंने टोकन को अपना एल्गोरिदम खुद चुनने दिया, और "none" टोकन जिन्हें सत्य वचन मान लिया गया। यह पेज ईमानदार कार्यप्रवाह को दर्शाता है: सब कुछ डिकोड करके पढ़ें, घड़ी के सामने दावा समयरेखा पढ़ें (अतीत का exp मृत टोकन है, हस्ताक्षर कितना भी वैध हो), एल्गोरिदम चेतावनियों पर ध्यान दें, और तभी सत्यापित करें — स्थानीय रूप से, रहस्य टोकन वाले ही ब्राउज़र टैब में रहते हुए। अगर जिस रहस्य से आप डीबग कर रहे हैं वह किसी कॉन्फ़िग फ़ाइल से आया था, तो .env सत्यापनकर्ता उस फ़ाइल को भी प्रसारित किए बिना जांचता है; प्रमुख लेख, किसी चैटबॉट को अपने रहस्य कभी न करने दें, समझाता है कि कामों का पूरा परिवार ब्राउज़र में क्यों चला गया।
अक्सर पूछे जाने वाले प्रश्न
क्या यहां प्रोडक्शन टोकन पेस्ट करना सुरक्षित है?
यह इंटरनेट पर ऐसा करने की सबसे सुरक्षित जगह है, और यही कारण है कि यह टूल मौजूद है। डिकोडिंग आपके ब्राउज़र में, इस पेज के कोड में होती है: टोकन कभी प्रसारित, संग्रहीत या लॉग नहीं होता। उन विकल्पों से तुलना करें जो लोग सच में उपयोग करते हैं — AI चैट, जो बातचीत को किसी तीसरे पक्ष के सर्वर पर बनाए रखते हैं, और "ऑनलाइन JWT डिकोडर" जिनका सर्वर वह सब देखता है जो आप पेस्ट करते हैं। टोकन समाप्त होने तक जीवित क्रेडेंशियल है; जहां भी वह पेस्ट किया जाता है, वहां से उसे फिर चलाया जा सकता है। यहां, वह कहीं नहीं जाता — .env सत्यापनकर्ता वाला ही स्थानीय-मात्र नियम।
अगर कोई भी JWT डिकोड कर सकता है, तो यह सुरक्षा छेद क्यों नहीं है?
क्योंकि डिकोडिंग कभी सुरक्षा थी ही नहीं। JWT एक हस्ताक्षरित कथन है, एन्क्रिप्ट किया हुआ नहीं: पेलोड Base64URL है — एक एन्कोडिंग, टोकन रखने वाले किसी के भी द्वारा पठनीय — और सुरक्षा हस्ताक्षर में रहती है, जो साबित करता है कि कथन कुंजी धारक द्वारा जारी किया गया था और बदला नहीं गया है। क्लासिक आपदा है किसी डेवलपर का पेलोड को रहस्य मानना, या किसी सर्वर का हस्ताक्षर सत्यापित न करना जिससे हाथ से संपादित पेलोड आसानी से निकल जाए। लेख Base64 एन्क्रिप्शन नहीं है दोनों के नीचे की एन्कोडिंग गड़बड़ी को कवर करता है।
आप यहां HS256 सत्यापित कर सकते हैं लेकिन मेरा RS256 टोकन क्यों नहीं?
HS256 सममित है: एक साझा रहस्य हस्ताक्षर भी करता है और सत्यापित भी, इसलिए जो रहस्य आप टाइप करते हैं उसे HMAC से स्थानीय रूप से जांचा जा सकता है। RS256 असममित है: यह निजी कुंजी से हस्ताक्षरित होता है और मेल खाती सार्वजनिक कुंजी से सत्यापित होता है, जो इस पेज को आपसे मांगनी पड़ती — और कुंजी पेस्ट करने को आमंत्रित करने वाला पेज वह आदत सिखाता है जो लीक हुई निजी कुंजी पर खत्म होती है। RS256 टोकन को जारीकर्ता के प्रकाशित JWKS से अपने कोड या टूलिंग में सत्यापित करें, और निजी कुंजी को किसी भी वेबसाइट या चैट में, इसमें समेत, कभी पेस्ट न करें।
"alg: none" का क्या मतलब है और लाल चेतावनी क्यों?
इसका मतलब है कि टोकन घोषित करता है कि वह अहस्ताक्षरित है — और उस घोषणा का सम्मान करने वाला सर्वर किसी से भी कोई भी पेलोड स्वीकार करता है, कुंजी की ज़रूरत नहीं। यह एक असली, बार-बार आने वाला भेद्यता वर्ग था: टोकन के अपने alg फ़ील्ड पर भरोसा करने वाली लाइब्रेरी को व्यवस्थापक पेलोड वाला "none" टोकन थमाया जा सकता था। चेतावनी तेज़ है क्योंकि सही प्रतिक्रिया तेज़ है: none टोकन अप्रमाणित डेटा है, और उसे स्वीकार करने वाली कोई भी प्रणाली बनावट से ही प्रमाणीकरण बायपास रखती है।
हस्ताक्षर सही निकला — क्या मेरा काम हो गया?
आपने साबित किया है कि टोकन रहस्य के धारक द्वारा बनाया गया था और उसकी सामग्री अपरिवर्तित है। आपने यह साबित नहीं किया कि वह आपके लिए है (aud दावा जांचें), कि वह वर्तमान है (ऊपर की समयरेखा exp और nbf दिखाती है), या कि रहस्य स्वयं मज़बूत है — "secret" जैसे अनुमान लगाने योग्य रहस्य वाला HS256 ऑफ़लाइन ब्रूट फ़ोर्स से गिर जाता है, जिसके बाद कोई भी ऐसे टोकन बना सकता है जिन्हें आपकी जांच स्वीकार करेगी। सत्यापन ऑडिट की एक पंक्ति है, पूरा ऑडिट नहीं।