सीधे कंटेंट पर जाएँ

JWT डिकोड और वेरिफ़ाई करें

JSON Web Token का हेडर और क्लेम डिकोड करें, उसकी एक्सपायरी जाँचें और सिग्नेचर वेरिफ़ाई करें। टोकन आपके ब्राउज़र से बाहर नहीं जाता।

इसी टैब में डिकोड और वेरिफ़ाई होता है — टोकन और कीज़ कहीं नहीं भेजी जातीं।

टोकन पेस्ट करने पर हेडर, क्लेम और एक्सपायरी यहाँ दिखेंगे।
आपके ब्राउज़र में चलता है · अपलोड नहीं होतायह कैसे काम करता है

JWT डिकोडर इस्तेमाल कैसे करें

  1. 1

    टोकन पेस्ट करें

    Authorization हेडर, कुकी या अपने ऐप के स्टोरेज से JWT पेस्ट करें; शुरुआत का “Bearer ” अनदेखा कर दिया जाता है।

  2. 2

    क्लेम पढ़ें

    हेडर और पेलोड की टेबल, पढ़ने लायक exp, iat और nbf समय और एक्सपायरी बैनर देखें।

  3. 3

    की जोड़ें

    HMAC सीक्रेट डालें, या पब्लिक की को PEM, सर्टिफ़िकेट, JWK या JWKS के रूप में पेस्ट करें।

  4. 4

    सिग्नेचर वेरिफ़ाई करें

    “सिग्नेचर वेरिफ़ाई करें” दबाकर जाँचें कि टोकन उसी की से साइन हुआ है और बदला नहीं गया है।

सीमाएँ और Pro

मुफ़्त, साइन-अप के बिना और टोकन की संख्या की कोई सीमा नहीं; वेरिफ़िकेशन 13 एल्गोरिदम सपोर्ट करता है (256, 384 और 512 बिट के HS, RS, PS और ES, साथ ही EdDSA)।

Pro में विज्ञापन नहीं दिखते; डिकोडिंग और वेरिफ़िकेशन हर प्लान में एक जैसे हैं। Pro देखें

JWT डिकोडर के बारे में

JSON Web Token तीन Base64URL स्ट्रिंग का क्रम होता है, जो बिंदुओं से जुड़ी होती हैं: साइनिंग एल्गोरिदम बताने वाला हेडर, क्लेम वाला पेलोड और एक सिग्नेचर। टोकन पेस्ट करें, “Bearer ” प्रिफ़िक्स के साथ या उसके बिना, और डिकोडर हेडर और पेलोड को पढ़ने लायक टेबल या सजे हुए JSON में दिखाता है, टोकन के तीनों हिस्सों को अलग रंग देता है और iss, sub, aud, kid और scope जैसे स्टैंडर्ड फ़ील्ड समझाता है।

टाइम क्लेम आपके लिए बदल दिए जाते हैं: exp, iat, nbf और auth_time आपके टाइम ज़ोन में तारीख के रूप में, UTC में और सापेक्ष समय के रूप में दिखते हैं (“2 घंटे में एक्सपायर होगा”, “3 दिन पहले एक्सपायर हुआ”)। एक बैनर एक नज़र में बताता है कि टोकन एक्सपायर हो चुका है, अभी मान्य नहीं है या उसकी कोई एक्सपायरी नहीं है। अगर exp सेकंड की जगह मिलीसेकंड में लगे, तो चेतावनी भी मिलती है।

डिकोड करने से यह साबित नहीं होता कि टोकन किसने जारी किया, इसलिए वेरिफ़ायर आपके ब्राउज़र के बिल्ट-इन WebCrypto से सिग्नेचर जाँचता है। HS256, HS384 और HS512 के लिए साझा सीक्रेट चाहिए (सादा टेक्स्ट या Base64)। 256, 384 और 512 बिट के RS, PS और ES एल्गोरिदम, साथ ही Ed25519 वाले EdDSA के लिए पब्लिक की चाहिए। इसे आप PEM पब्लिक की, RSA PUBLIC KEY ब्लॉक, X.509 सर्टिफ़िकेट, एक JWK या पूरे JWKS के रूप में पेस्ट कर सकते हैं; JWKS में की टोकन के kid से चुनी जाती है।

यह टूल JWE टोकन (पाँच हिस्सों वाले) डिक्रिप्ट नहीं कर सकता और JWKS URL नहीं खोलता; जारीकर्ता का jwks_uri खुद खोलें और उसका JSON पेस्ट करें।

गोपनीयता

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

खूबियाँ

पढ़ने लायक समय

exp, iat और nbf आपके टाइम ज़ोन में, UTC में और “2 घंटे में” या “3 दिन पहले” के रूप में।

असली सिग्नेचर जाँच

HMAC, RSA, RSA-PSS, ECDSA और Ed25519 की जाँच WebCrypto से, आपकी की या JWKS के साथ।

टोकन आपके पास ही रहता है

कुछ भी अपलोड नहीं होता, इसलिए प्रोडक्शन टोकन सुरक्षित रूप से जाँचे जा सकते हैं।

JWT डिकोडर: अक्सर पूछे जाने वाले सवाल

क्या यहाँ प्रोडक्शन टोकन पेस्ट करना सुरक्षित है?
टोकन आपके टैब में चल रहे JavaScript से डिकोड और वेरिफ़ाई होता है और उसे भेजने वाला कोई अनुरोध नहीं जाता, जिसे आप ब्राउज़र के नेटवर्क पैनल में देख सकते हैं। फिर भी, मान्य टोकन एक्सपायर होने तक पासवर्ड की तरह काम करता है, इसलिए किसी भरोसेमंद न लगने वाली साइट पर लाइव टोकन पेस्ट न करें, और स्क्रीनशॉट साझा करते समय एक्सपायर या टेस्ट टोकन इस्तेमाल करें।
डिकोड किया गया टोकन कुछ साबित क्यों नहीं करता?
कोई भी हेडर और पेलोड बनाकर उन्हें Base64URL में एन्कोड कर सकता है; डिकोडिंग बस उसे उलट देती है। केवल सिग्नेचर ही टोकन को उसके जारीकर्ता से जोड़ता है। किसी भी क्लेम पर भरोसा करने से पहले जारीकर्ता की पब्लिक की या साझा सीक्रेट से उसे वेरिफ़ाई करें, और देखें कि alg वही है जो आपका सर्वर चाहता है, क्योंकि “none” या बदला हुआ एल्गोरिदम मान लेना एक जानी-पहचानी कमज़ोरी है।
RS256 या ES256 टोकन वेरिफ़ाई करने के लिए पब्लिक की कहाँ मिलेगी?
आइडेंटिटी प्रोवाइडर अपनी कीज़ JWK Set के रूप में प्रकाशित करते हैं। जारीकर्ता का /.well-known/openid-configuration देखें, उसमें दिया गया jwks_uri खोलें और वह JSON यहाँ पेस्ट करें; टोकन हेडर के kid से मेल खाने वाली की इस्तेमाल होती है। आप PEM पब्लिक की या जारीकर्ता का X.509 सर्टिफ़िकेट भी पेस्ट कर सकते हैं।
exp, iat और nbf का मतलब क्या है?
ये NumericDate क्लेम हैं, जो 1 जनवरी 1970 UTC से सेकंड में गिने जाते हैं। exp वह समय है जब टोकन मान्य नहीं रहता, iat जारी होने का समय है और nbf वह सबसे पहला समय है जब उसे स्वीकार किया जा सकता है। सर्वर आमतौर पर एक-दो मिनट का घड़ी का अंतर मान लेते हैं। डिकोडर हर एक को स्थानीय तारीख, UTC टाइमस्टैंप और सापेक्ष समय के रूप में दिखाता है।
सही HMAC सीक्रेट होने पर भी वेरिफ़िकेशन फ़ेल क्यों होता है?
आम कारण हैं: सीक्रेट के साथ कॉपी हुई खाली जगह, साइन करते समय सीक्रेट का Base64-एन्कोडेड होना, या किसी टूल द्वारा टोकन को दोबारा एन्कोड करना जिससे हेडर या पेलोड के बाइट बदल गए। “सीक्रेट Base64-एन्कोडेड है” स्विच आज़माएँ। पहले दो हिस्सों में कोई भी बदलाव, यहाँ तक कि JSON कीज़ का क्रम बदलना भी, सिग्नेचर को अमान्य कर देता है।
सभी डेवलपर टूल