tomai
लॉग इन
मुफ़्त · डेवलपर टूल

JWT डिकोडर और सत्यापक

JSON Web Token डिकोड करें और HS/RS/ES/PS हस्ताक्षर सत्यापित करें — पूरी तरह आपके ब्राउज़र में

एन्कोडेड टोकन
हेडर
पेलोड

JWT डिकोडर क्या है?

JWT (JSON वेब टोकन) तीन हिस्सों — हेडर, पेलोड और सिग्नेचर — वाला एक टोकन है, जिसका इस्तेमाल आधुनिक वेब ऐप्स में प्रमाणीकरण और अधिकार देने के लिए होता है। पेलोड तब तक बेतरतीब टेक्स्ट जैसा दिखता है जब तक उसे डिकोड न किया जाए — और यह टूल ठीक यही करता है। यह हेडर और पेलोड को पढ़ने लायक, सुंदर JSON में बदल देता है, exp, nbf और iat जैसे रजिस्टर्ड क्लेम को सरल भाषा में सही तारीखों के साथ समझाता है, और बताता है कि टोकन समाप्त है, सक्रिय है या अभी मान्य नहीं है। यह सिग्नेचर वेरिफ़िकेशन भी करता है: HS256/384/512 साझा सीक्रेट से, और RS/PS/ES PEM पब्लिक की से — सब कुछ ब्राउज़र के Web Crypto के ज़रिए। डेवलपर्स को अब लॉगिन फ़्लो डीबग करने के लिए प्रोडक्शन टोकन किसी तीसरी वेबसाइट पर नहीं चिपकाने पड़ते।

यह टूल क्या कर सकता है

  • 📖 हेडर और पेलोड को सुंदर JSON में डिकोड करना
  • 🏷️ रजिस्टर्ड क्लेम को सरल भाषा में समझाना
  • ⏳ exp, nbf और iat को सटीक तारीख और सापेक्ष समय के साथ दिखाना
  • ✅ सीक्रेट से HS256/384/512 सिग्नेचर वेरिफ़ाई करना
  • 🔏 PEM पब्लिक की से RS/PS/ES सिग्नेचर वेरिफ़ाई करना
  • 🚦 समाप्त / सक्रिय / अभी मान्य नहीं स्टेटस बैज
  • ⚠️ alg none होने पर असुरक्षित टोकन की चेतावनी

इसका उपयोग कब करें

  • लॉगिन फ़्लो में 401 एरर की वजह खोजते समय
  • टोकन अचानक काम करना बंद कर दे, इसकी वजह जानते समय
  • तीसरे पक्ष के IdP के टोकन पर भरोसा करने से पहले उसे जाँचते समय
  • रिफ़्रेश टोकन के अंदर के क्लेम देखते समय

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

तीन खंड वास्तव में क्या हैं

JWT तीन base64url खंडों से बना होता है, जो डॉट्स (.) द्वारा जुड़े होते हैं:

  • हेडर एल्गोरिदम का नाम बताता है; पेलोड दावों (claims) को वहन करता है; हस्ताक्षर दोनों को एक गुप्त कुंजी या कुंजी के अधीन बांधता है।
  • हेडर/पेलोड में कुछ भी एन्क्रिप्टेड नहीं है — टोकन रखने वाला कोई भी व्यक्ति प्रत्येक दावे को पढ़ सकता है। यह डिज़ाइन के अनुसार है; JWT एक हस्ताक्षरित कंटेनर है, कोई सुरक्षित वाहक नहीं।
  • सत्यापन के लिए हस्ताक्षर कुंजी की आवश्यकता होती है और यह आपके सर्वर पर होता है; यह पृष्ठ स्थानीय रूप से डिकोड करता है ताकि आप टोकन को कहीं भी दूरस्थ रूप से पेस्ट किए बिना दावों की जाँच कर सकें।

डिकोडिंग, सत्यापन नहीं है

क्लेम असली तारीख़ें बनते हैं

हेडर और पेलोड पढ़ने योग्य JSON में दिखते हैं, जबकि exp, nbf और iat जैसे पंजीकृत क्लेम असली तारीख़ों में बदल जाते हैं, साथ ही स्पष्ट निर्णय मिलता है — समाप्त, सक्रिय या अभी मान्य नहीं।

🔒

HS, RS, PS और ES सत्यापन

HS256/384/512 को सादे या base64 रूप में साझा गुप्त कुंजी से, और RS, PS या ES टोकन को PEM सार्वजनिक कुंजी से सत्यापित करें — सब पृष्ठ के भीतर Web Crypto से।

🎯

ख़राब टोकन की स्पष्ट व्याख्या

संरचना की समस्याएँ सटीक बताई जाती हैं — लुप्त बिंदु, अमान्य हेडर, अपठनीय पेलोड — और none एल्गोरिदम का दावा करने वाले टोकन पर भरोसा करने के बजाय उन्हें चिह्नित किया जाता है।

अक्सर पूछे जाने वाले प्रश्न

क्या मेरा टोकन सर्वर पर भेजा जाता है?

नहीं। डिकोडिंग और हस्ताक्षर सत्यापन पूरी तरह आपके ब्राउज़र में Web Crypto API से होते हैं। आपका टोकन, गुप्त कुंजी और कुंजियाँ डिवाइस से बाहर नहीं जातीं, इसलिए प्रोडक्शन टोकन भी सुरक्षित रूप से जाँचे जा सकते हैं।

आप कौन-से हस्ताक्षर एल्गोरिदम सत्यापित कर सकते हैं?

साझा गुप्त कुंजी वाले HS256/384/512 (UTF-8 या base64url), और असममित परिवार RS256/384/512, PS256/384/512 तथा ES256/384/512 — PEM सार्वजनिक कुंजी चिपकाकर। असममित टोकन के लिए केवल सार्वजनिक कुंजी चाहिए, निजी कुंजी कभी नहीं।

JWT एन्क्रिप्टेड नहीं होता — इसका क्या अर्थ है?

मानक JWT केवल base64url एन्कोडेड और हस्ताक्षरित होता है, एन्क्रिप्टेड नहीं, इसलिए कोई भी इसका पेलोड पढ़ सकता है। JWT में कभी गोपनीय जानकारी न डालें। हस्ताक्षर केवल यह सिद्ध करता है कि कुंजी के बिना किसी ने टोकन से छेड़छाड़ नहीं की।

इसमें 'हस्ताक्षर अमान्य' कहा गया है — क्या टोकन जाली है?

आमतौर पर तीन उबाऊ कारणों में से एक: टोकन को किसी अन्य वातावरण के गुप्त कुंजी द्वारा हस्ताक्षरित किया गया था; जारीकर्ता कुंजियों को घुमाता है और आपकी कुंजी पुरानी हो गई है; या हेडर में एल्गोरिदम आपके सत्यापक द्वारा अपेक्षित एल्गोरिदम से मेल नहीं खाता (प्रसिद्ध alg=none चाल)। पहले यहाँ हेडर को डिकोड करें, फिर इसकी तुलना उस कुंजी से करें जिसका उपयोग आपका बैकएंड वास्तव में करता है।

संबंधित टूल

संबंधित टूल