JWT डिकोडर
किसी भी JSON Web Token को ब्राउज़र में डिकोड करें: हेडर और पेलोड देखें, exp, iat और nbf को अपने टाइम ज़ोन की असली तारीख में, और जानें टोकन एक्सपायर हुआ या नहीं।
सारांश
हेडर
पेलोड (क्लेम)
टोकन और सिग्नेचर
किसी भी JWT को कहीं भेजे बिना पढ़ें
JSON Web Token पेस्ट करें और डिकोडर उसे तीन हिस्सों में बाँट देता है: हेडर (किस एल्गोरिदम से साइन हुआ), पेलोड (क्लेम: यूज़र कौन है, उसे किन चीज़ों की पहुँच है और टोकन कब एक्सपायर होगा) और सिग्नेचर। JSON को फ़ॉर्मैट किया जाता है ताकि आप एक नज़र में पढ़ सकें।
समय वाले क्लेम असली तारीखों में बदल जाते हैं। exp, iat और nbf आपके टाइम ज़ोन में, UTC में और “20 मिनट में” या “3 दिन पहले” के रूप में दिखते हैं, और स्थिति तुरंत बताती है कि टोकन अभी मान्य है, एक्सपायर हो गया है या अभी मान्य नहीं हुआ।
टोकन अक्सर असली अकाउंट तक पहुँच देते हैं, इसलिए सारी डिकोडिंग आपके ब्राउज़र में होती है। टोकन कभी हमारे सर्वर पर अपलोड, लॉग या सेव नहीं होता। यह उसे किसी चैटबॉट या सर्वर पर भेजने वाली साइट में पेस्ट करने से ज़्यादा सुरक्षित है।
JWT कैसे डिकोड करें
- टोकन अपने ऐप,
Authorizationहेडर, कुकी या ब्राउज़र के डेवलपर टूल से कॉपी करें। - उसे बॉक्स में पेस्ट करें।
Bearer, कोटेशन मार्क, स्पेस और लाइन ब्रेक अपने आप हट जाते हैं। - सारांश पढ़ें: स्थिति, एल्गोरिदम, जारीकर्ता, विषय, ऑडियंस और जारी होने व एक्सपायर होने का सटीक समय।
- कॉपी बटन से फ़ॉर्मैट किया हुआ हेडर या पेलोड JSON बग रिपोर्ट या अपने नोट्स में ले जाएँ।
आम क्लेम का मतलब
exp(expiration time): इस समय के बाद टोकन को अस्वीकार करना ज़रूरी है।iat(issued at): टोकन कब बनाया गया।nbf(not before): इस समय से पहले टोकन स्वीकार नहीं करना चाहिए।iss(issuer): टोकन किसने बनाया, अक्सर आपके लॉगिन सर्वर का URL।sub(subject): टोकन किसके बारे में है, आमतौर पर यूज़र ID।aud(audience): टोकन किस ऐप या API के लिए है।algऔरkid(हेडर में): HS256 या RS256 जैसा साइनिंग एल्गोरिदम और साइन करने वाली की की ID।
JWT की तारीखें NumericDate मान होती हैं: 1 जनवरी 1970 UTC से बीते सेकंड। डिकोडर इन्हें आपके लिए बदल देता है, इसलिए अलग टाइमस्टैम्प कन्वर्टर की ज़रूरत नहीं।
डिबगिंग टिप्स
- अगर लॉगिन के तुरंत बाद API 401 लौटाए, तो पहले
expऔरnbfदेखें। कुछ मिनट आगे या पीछे चलती सर्वर घड़ी एक आम वजह है; ज़्यादातर लाइब्रेरी थोड़ी छूट देती हैं। - हज़ारों साल आगे की तारीख का मतलब है कि मान सेकंड की जगह मिलीसेकंड में लिखा गया है। ऐसा होने पर डिकोडर आपको चेतावनी देता है।
audऔरissकी तुलना उससे करें जो आपका API चाहता है। किसी दूसरे ऐप या एनवायरनमेंट (प्रोडक्शन की जगह स्टेजिंग) के लिए जारी टोकन “अमान्य टोकन” एरर की आम वजह है।- अगर हेडर में
algका मानnoneहै, तो टोकन साइन नहीं हुआ है। प्रोडक्शन में ऐसे टोकन कभी स्वीकार न करें।
सीमाएँ और ज़रूरी बातें
- डिकोड करना सत्यापन नहीं है। कोई भी किसी भी क्लेम के साथ टोकन बना सकता है; सिर्फ़ आपके सर्वर पर सही की से सिग्नेचर जाँचने से साबित होता है कि टोकन असली है। यह टूल सिग्नेचर सत्यापित नहीं करता।
- सामान्य JWT का पेलोड सिर्फ़ एनकोड होता है, एन्क्रिप्ट नहीं। जिसके पास टोकन है वह इसे पढ़ सकता है, इसलिए क्लेम में कभी पासवर्ड या गुप्त जानकारी न रखें।
- एन्क्रिप्टेड टोकन (JWE, पाँच हिस्से) की के बिना नहीं पढ़े जा सकते, इसलिए सिर्फ़ उनका हेडर दिखाया जाता है।
- संख्याएँ ठीक वैसे ही दिखाई जाती हैं जैसे टोकन में हैं, इसलिए लंबी संख्या वाली ID कभी राउंड नहीं होतीं।
अक्सर पूछे जाने वाले सवाल
क्या यहाँ असली टोकन पेस्ट करना सुरक्षित है?
हाँ। डिकोडिंग आपके ब्राउज़र में JavaScript से होती है और टोकन कभी हमारे सर्वर पर नहीं भेजा जाता। फिर भी चालू टोकन को पासवर्ड की तरह संभालें: उन्हें स्क्रीनशॉट या चैट में शेयर न करें और उन्हें एक्सपायर होने दें।
क्या यह टूल बता सकता है कि टोकन मान्य है?
यह तारीखों के आधार पर बताता है कि टोकन एक्सपायर हो गया है या अभी मान्य नहीं हुआ। सिग्नेचर असली है या नहीं, यह नहीं बता सकता, क्योंकि उसके लिए वह सीक्रेट या पब्लिक की चाहिए जो सिर्फ़ आपके सर्वर के पास होनी चाहिए।
अभी मिला टोकन एक्सपायर क्यों दिख रहा है?
टोकन जारी करने वाले सर्वर की घड़ी जाँचें और पक्का करें कि exp सेकंड में है, मिलीसेकंड में नहीं। अगर iat भी कई घंटे पीछे है, तो शायद सर्वर की घड़ी गलत है।
JWT डिकोडर और Base64 डिकोडर में क्या फ़र्क है?
JWT, बिंदुओं से जुड़े तीन Base64URL-एनकोडेड हिस्से होते हैं। Base64 डिकोडर एक बार में एक हिस्सा पढ़ता है, जबकि JWT डिकोडर टोकन को खुद बाँटता है, URL-सेफ़ अक्षर और गायब पैडिंग संभालता है और तारीखों को पढ़ने लायक समय में बदलता है।
क्या यह ऑफ़लाइन काम करता है?
हाँ। पेज लोड होने के बाद आप इंटरनेट बंद करके भी टोकन डिकोड कर सकते हैं।
मिलते-जुलते टूल
- Base64 डिकोडर: Base64 स्ट्रिंग को तुरंत पढ़ने लायक टेक्स्ट में डिकोड करें। auth हेडर, टोकन, API पेलोड और ईमेल कंटेंट जाँचें। मुफ़्त ऑनलाइन Base64 डिकोडर।
- JSON वैलिडेटर और ब्यूटीफ़ायर: JSON को ऑनलाइन वैलिडेट और फ़ॉर्मेट करें। सिंटैक्स की गलतियाँ खोजें और मिनिफ़ाइड JSON को पढ़ने लायक, इंडेंट किए गए कोड में बदलें। मुफ़्त।
- URL डिकोडर: परसेंट-एनकोड किए URL और query string को फिर से पढ़ने लायक टेक्स्ट में बदलें। %20, %26 और %C3%A9 को तुरंत सामान्य अक्षर बनाएँ। मुफ़्त URL डिकोडर।
- Base64 एनकोडर: किसी भी टेक्स्ट या स्ट्रिंग को तुरंत Base64 में एनकोड करें। डेटा URI, HTTP Basic auth हेडर, ईमेल और API के लिए उपयोगी। मुफ़्त ऑनलाइन Base64 एनकोडर।
मिलते-जुलते टूल्स
Base64 स्ट्रिंग को तुरंत पढ़ने लायक टेक्स्ट में डिकोड करें। auth हेडर, टोकन, API पेलोड और ईमेल कंटेंट जाँचें। मुफ़्त ऑनलाइन Base64 डिकोडर।
JSON को ऑनलाइन वैलिडेट और फ़ॉर्मेट करें। सिंटैक्स की गलतियाँ खोजें और मिनिफ़ाइड JSON को पढ़ने लायक, इंडेंट किए गए कोड में बदलें। मुफ़्त।
परसेंट-एनकोड किए URL और query string को फिर से पढ़ने लायक टेक्स्ट में बदलें। %20, %26 और %C3%A9 को तुरंत सामान्य अक्षर बनाएँ। मुफ़्त URL डिकोडर।
लोकप्रिय मुफ़्त टूल्स
एक क्लिक में मज़बूत, रैंडम पासवर्ड बनाएँ। लंबाई, बड़े-छोटे अक्षर, नंबर और खास चिह्न चुनें। मुफ़्त, बिना साइन-अप।
टेक्स्ट को UPPERCASE, lowercase, Sentence case, Title Case, camelCase, PascalCase, snake_case, CONSTANT_CASE या param-case में बदलें। मुफ़्त।
टेक्स्ट, HTML, लॉग या दस्तावेज़ों से हर ईमेल एड्रेस एक क्लिक में निकालें और गिनती के साथ साफ़ सूची पाएँ। मुफ़्त ऑनलाइन ईमेल एक्सट्रैक्टर।
किसी भी डोमेन के DNS रिकॉर्ड देखें: A, AAAA, CNAME, MX, NS, TXT और SOA। ईमेल, SPF, वेरिफ़िकेशन और नेमसर्वर सेटिंग मुफ़्त में जाँचें।
टेक्स्ट को अलग-अलग सेपरेटर के बीच बदलें: नई लाइन, स्पेस, सेमीकोलन, डैश, पाइप या डॉट। कॉलम को एक लाइन में बदलें और वापस। मुफ़्त टेक्स्ट सेपरेटर।
अपने फ़ोन नंबर और पहले से भरे मैसेज के साथ WhatsApp click-to-chat लिंक बनाएँ। उसे साइट, बायो, विज्ञापन या QR कोड में जोड़ें। मुफ़्त wa.me जनरेटर।