मुफ्त कनवर्टर

JWT टोकन डिकोडर

अपने ब्राउज़र में JWT (JSON Web Token) हेडर और पेलोड को तुरंत डिकोड करें। मुफ़्त, निजी और क्लाइंट-साइड — कोई डेटा सर्वर पर नहीं भेजा जाता।

इस टूल के बारे में

JSON वेब टोकन (JWT) दो पक्षों के बीच दावों को प्रसारित करने के लिए एक कॉम्पैक्ट, URL-सुरक्षित प्रारूप है, जिसे RFC 7519 द्वारा परिभाषित किया गया है। JWT तीन बेस 64url-एन्कोडेड सेगमेंट हैं जो डॉट्स द्वारा अलग किए गए हैं: हेडर (एल्गोरिदम और टोकन प्रकार), पेलोड (दावा), और हस्ताक्षर (प्रामाणिकता का क्रिप्टोग्राफ़िक प्रमाण)। हेडर और पेलोड JSON हैं, URL सुरक्षा के लिए बेस64url-एनकोडेड हैं; हस्ताक्षर एन्कोडेड हेडर और पेलोड पर कई एल्गोरिदम (HS256, RS256, ES256, और अन्य) में से एक का उपयोग करता है।

JWT को डिकोड करना - इसे खंडों में विभाजित करना और प्रत्येक को बेस 64-डिकोड करना - किसी रहस्य की आवश्यकता नहीं है। टोकन टेक्स्ट वाला कोई भी व्यक्ति इसके हेडर और पेलोड को पढ़ सकता है। हालाँकि, हस्ताक्षर को केवल गुप्त (HMAC) या सार्वजनिक कुंजी (असममित) से सत्यापित किया जा सकता है। डिकोडिंग निरीक्षण के लिए है; सत्यापन ही प्रामाणिकता सिद्ध करता है।

यह डिकोडर टोकन को विभाजित करता है, प्रत्येक सेगमेंट को बेस 64-डीकोड करता है, हेडर और पेलोड को JSON के रूप में पार्स करता है, और परिणाम दिखाता है। यह हस्ताक्षर सत्यापन का प्रयास नहीं करता है क्योंकि इसके लिए गुप्त या सार्वजनिक कुंजी की आवश्यकता होती है, जो डिकोडर के पास नहीं है। डिकोड किया गया आउटपुट केवल-पढ़ने के लिए निरीक्षण है - टोकन डिबगिंग के लिए उपयोगी है लेकिन एप्लिकेशन कोड में उचित सत्यापन का विकल्प नहीं है।

JWTs को डिकोड क्यों करें?

प्रमाणीकरण समस्याओं को डीबग करने में लगभग हमेशा टोकन का निरीक्षण करना शामिल होता है। एक टोकन जो कोड में मान्य दिखता है, उसमें गलत दावे, एक अप्रत्याशित एल्गोरिदम, एक समाप्त एक्सपी टाइमस्टैम्प, या ऑडियंस बेमेल हो सकता है। टोकन को डिकोड करने से पता चलता है कि जारीकर्ता ने वास्तव में क्या उत्पादित किया है।

एकीकरण कार्य के दौरान टोकन का निरीक्षण करने से भी मदद मिलती है। किसी तृतीय-पक्ष एपीआई या पहचान प्रदाता से कनेक्ट करते समय, वास्तविक दावे के नाम, प्रारूप और संरचना को पुराने दस्तावेज़ों पर भरोसा करने के बजाय नमूना टोकन को डिकोड करके सबसे अच्छी तरह से समझा जाता है।

कैसे उपयोग करें

टोकन चिपकाएँ, पार्स की गई सामग्री प्राप्त करें।

  1. अपना JWT चिपकाएँ: पूरा टोकन (header.payload.signature) इनपुट क्षेत्र में छोड़ें। डिकोडर वैकल्पिक बियरर उपसर्ग के साथ या उसके बिना टोकन स्वीकार करता है।
  2. हेडर का निरीक्षण करें: हेडर हस्ताक्षर एल्गोरिथ्म (एलजी) और टोकन प्रकार (टाइप) दिखाता है। सामान्य एल्गोरिदम HS256, RS256 और ES256 हैं। एल्ग पर नजर रखें: कोई नहीं, जो एक अहस्ताक्षरित टोकन का संकेत देता है और उत्पादन में शायद ही कभी सुरक्षित होता है।
  3. पेलोड का निरीक्षण करें: पेलोड में दावे शामिल हैं: आईएस (जारीकर्ता), उप (विषय), ऑड (दर्शक), एक्सप (समाप्ति), आईएटी (जारी), और कोई भी एप्लिकेशन-विशिष्ट दावे। मानक टाइमस्टैम्प यूनिक्स युग सेकंड हैं।
  4. अलग से सत्यापित करें: डिकोडर हस्ताक्षर को सत्यापित नहीं करता है. प्रामाणिकता की जांच करने के लिए, अपने एप्लिकेशन कोड में उपयुक्त गुप्त या सार्वजनिक कुंजी के साथ JWT लाइब्रेरी के माध्यम से टोकन चलाएं।

सामान्य उपयोग के मामले

तकनीकी विवरण

JWT प्रारूप बिंदुओं द्वारा जुड़े हुए तीन खंड हैं। प्रत्येक खंड बेस64यूआरएल-एन्कोडेड है - बेस64 का यूआरएल-सुरक्षित संस्करण जो + और / के बजाय - और _ का उपयोग करता है, कभी-कभी पैडिंग छोड़ दी जाती है। डिकोडिंग के लिए यूआरएल-सुरक्षित प्रतिस्थापनों को पूर्ववत करना, सेगमेंट को पैड करना और बेस 64-डिकोडिंग की आवश्यकता होती है।

डिकोडिंग के बाद हेडर और पेलोड JSON हैं। हस्ताक्षर खंड बाइनरी (कच्चे हस्ताक्षर बाइट्स) है और मानव-पठनीय नहीं है; इसे उपयोगी बनाने के लिए सत्यापन कुंजी की आवश्यकता होती है।

RFC 7519 में परिभाषित सामान्य दावे: iss (जारीकर्ता), उप (विषय पहचानकर्ता), aud (दर्शक), exp (यूनिक्स युग सेकंड के रूप में समाप्ति), nbf (टाइमस्टैम्प से पहले नहीं), iat (टाइमस्टैम्प पर जारी), jti (यूनिक टोकन आईडी)। एप्लिकेशन-विशिष्ट दावे किसी भी नाम से प्रकट हो सकते हैं।

सर्वोत्तम प्रथाएँ

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

क्या मेरा JWT यहाँ चिपकाना सुरक्षित है?
हाँ। डिकोडिंग पूरी तरह से आपके ब्राउज़र में होती है - टोकन कभी भी किसी सर्वर पर नहीं भेजा जाता है। हालाँकि, JWTs क्रेडेंशियल हैं - उन्हें सार्वजनिक रूप से साझा न करें (स्क्रीनशॉट, स्टैक ओवरफ़्लो पोस्ट आदि में) क्योंकि वे आपके खातों तक पहुंच प्रदान कर सकते हैं।
क्या यह उपकरण JWT हस्ताक्षर को सत्यापित करता है?
यह टूल टोकन सामग्री को डिकोड और प्रदर्शित करता है। हस्ताक्षर सत्यापन के लिए गुप्त कुंजी (HMAC) या सार्वजनिक कुंजी (RSA/ECDSA) की आवश्यकता होती है, जो आपके सर्वर पर बनी रहनी चाहिए। उपकरण उपयोग किए गए एल्गोरिदम को दिखाता है लेकिन कुंजी के बिना सत्यापित नहीं कर सकता।
मानक JWT दावों का क्या मतलब है?
iss = जारीकर्ता, उप = विषय (उपयोगकर्ता आईडी), exp = समाप्ति समय (यूनिक्स टाइमस्टैम्प), iat = जारी किया गया, nbf = पहले नहीं, aud = दर्शक, jti = JWT आईडी। कस्टम दावों में कोई भी एप्लिकेशन-विशिष्ट डेटा हो सकता है।
कोई भी JWT को डिकोड क्यों कर सकता है?
JWT एन्कोडेड हैं, एन्क्रिप्टेड नहीं। पेलोड Base64URL-एनकोडेड (एन्क्रिप्टेड नहीं) है, इसलिए कोई भी इसे पढ़ सकता है। हस्ताक्षर छेड़छाड़, पढ़ने से रोकता है। JWT पेलोड में कभी भी संवेदनशील डेटा (पासवर्ड, एसएसएन) स्टोर न करें।
कुछ टोकन पर हस्ताक्षर क्यों नहीं हैं?
एल्ग वाले टोकन: किसी के पास कोई हस्ताक्षर नहीं है। वे विशिष्ट रूप से वैध जेडब्ल्यूटी हैं लेकिन कोई प्रामाणिकता की गारंटी नहीं देते हैं और उन्हें उत्पादन में स्वीकार नहीं किया जाना चाहिए।
क्या JWT एन्क्रिप्टेड हैं?
मानक JWT पेलोड हस्ताक्षरित हैं लेकिन एन्क्रिप्टेड नहीं हैं। JWE (JSON वेब एन्क्रिप्शन, RFC 7516) एन्क्रिप्टेड टोकन के लिए एक अलग प्रारूप है। जंगल में अधिकांश JWT JWS (केवल हस्ताक्षरित) हैं।
क्या मेरा टोकन सर्वर पर अपलोड किया गया है?
नहीं, डिकोडिंग आपके ब्राउज़र में होती है; टोकन आपके डिवाइस को नहीं छोड़ता है.
JWT आमतौर पर कितने समय के होते हैं?
कुछ सौ से लेकर कई हजार वर्णों तक कहीं भी। लंबाई दावों की संख्या और आकार तथा हस्ताक्षर की लंबाई (जो एल्गोरिथम पर निर्भर करती है) पर निर्भर करती है।