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

कोई भी JSON Web Token पेस्ट करें और डिकोड किया गया हेडर, पेलोड और सिग्नेचर तुरंत देखें। टोकन क्लेम्स जांचें, एक्सपायरी टाइम वेरिफ़ाई करें और ऑथेंटिकेशन की समस्याएं सेकंडों में डिबग करें।

डिकोडर टोकन को डॉट से अलग करता है, हेडर और पेलोड को Base64URL में डिकोड करता है और दोनों को JSON की तरह पार्स कर देता है। आपको साइनिंग एल्गोरिथम (HS256, RS256, EdDSA आदि), सभी आरक्षित क्लेम (iss, sub, aud, exp, iat, nbf, jti) और सेवा द्वारा जोड़े गए कस्टम क्लेम दिखते हैं। समय वाले क्लेम Unix epoch से आपके स्थानीय टाइमज़ोन में बदले जाते हैं, इसलिए समाप्त टोकन एक ही नज़र में पहचाने जाते हैं।

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

  1. अपना JWT टोकन इनपुट फील्ड में पेस्ट करें — तीनों Base64-एन्कोडेड सेक्शन अपने आप पहचान लिए जाएँगे।
  2. डिकोड किए गए हेडर (अल्गोरिदम, टाइप) और पेलोड (क्लेम्स, एक्सपायरी, इश्यूअर) को साथ-साथ देखें।
  3. अलग-अलग डिकोडेड सेक्शन या पूरा पार्स किया गया आउटपुट कॉपी करें।

कब उपयोग करें

  • 401 गलती की वजह ढूँढते समय जाँचना कि bearer टोकन का exp गुज़र चुका है या नहीं।
  • प्रोडक्शन से पहले यह पक्का करना कि staging में जारी किए गए टोकन में aud और iss सही हैं।
  • तीसरे-पक्ष के SSO ने एक्सेस टोकन में जो user_id या scopes रखे हैं, उन्हें देखना।

परिणाम

आप अपने API में 401 एरर को डिबग कर रहे हैं। रिक्वेस्ट हेडर से बेयरर टोकन पेस्ट करके जाँचें कि 'exp' क्लेम पहले ही बीत चुका है या 'aud' क्लेम आपकी अपेक्षित ऑडियंस से मेल खाता है या नहीं।

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

क्या यह उपकरण साइन वेरीफ़ाई करता है?
HMAC टोकन (HS256, HS384, HS512) के लिए सीक्रेट पेस्ट करें और उपकरण आपके डिवाइस पर ही साइन जाँच लेता है। RS और ES टोकन (RS256/384/512, ES256/384/512) के लिए जारीकर्ता की PEM पब्लिक की पेस्ट करें, यह उसी तरह वेरीफ़ाई हो जाती है। दोनों ही हाल में सीक्रेट या की आपके डिवाइस से बाहर नहीं जाती।
क्या असली प्रोडक्शन टोकन यहाँ पेस्ट करना सुरक्षित है?
डिकोडिंग आपके डिवाइस पर ही होती है, टोकन किसी सर्वर पर नहीं भेजा जाता। पर bearer टोकन जिसके पास होगा वह उपयोगकर्ता की पहुँच पा लेगा; इसलिए असली ख़तरा स्क्रीन देखने वाला कोई और है, न कि उपकरण ख़ुद।
alg में 'none' का क्या मतलब है?
कुछ पुरानी लाइब्रेरियाँ alg=none वाले बिना साइन के टोकन स्वीकार कर लेती थीं—यह एक जाना-माना अटैक है। प्रोडक्शन API को ऐसे टोकन सीधे अस्वीकार करना चाहिए। प्रमाणीकरण टोकन में 'none' दिखे तो जारीकर्ता का कॉन्फ़िग ठीक करना ज़रूरी है।
exp और iat तारीख़ की जगह संख्या क्यों दिखते हैं?
JWT समय को 1970-01-01 UTC से बीते सेकंडों के रूप में रखता है। डिकोडर हर क्लेम के साथ स्थानीय समय में पढ़ी-समझी जा सकने वाली तारीख़ भी जोड़ देता है, ताकि आप गणना किए बिना ही टोकन की समाप्ति देख सकें।
क्या एन्क्रिप्टेड टोकन (JWE) डिकोड हो सकता है?
JWE पाँच डॉट-अलग हिस्सों में होता है और सिर्फ़ साइन नहीं, बल्कि एन्क्रिप्ट भी होता है। यह उपकरण JWS पढ़ता है (तीन हिस्से: header.payload.signature)। JWE पढ़ने के लिए डिक्रिप्शन की चाहिए, जो डिज़ाइन के अनुसार सिर्फ़ रिसीवर सर्वर पर रहनी चाहिए।

संबंधित उपकरण