मुख्य सामग्री पर जाएँ
FreeOnlineTools Go
हिन्दी
कैसे करें

JWT को कैसे डिकोड करें और उसके क्लेम का सुरक्षित निरीक्षण करें

FreeOnlineTools Team द्वारा · अद्यतन किया गया 2026-08-28

त्वरित जवाब

JWT तीन Base64URL स्ट्रिंग हैं बिंदु से जुड़े: header.payload.signature। claims निरीक्षण के लिए header और payload को Base64URL डिकोड करें —लेकिन डिकोडिंग केवल डेटा पढ़ती है, authenticity सत्यापित नहीं करती। हमेशा server पर signature सत्यापित करें। हमारे JWT Decoder से टोकन निरीक्षण करें।

परिचय

JSON Web Token (JWT, RFC 7519) authentication और authorization के लिए कॉम्पैक्ट, URL-safe टोकन फॉर्मेट है। इसके तीन Base64URL-एन्कोडेड भाग हैं: header.payload.signature। header algorithm वर्णन करता है, payload claims (user id, roles, expiry) रखता है, signature टोकन के विश्वसनीय पक्ष द्वारा जारी होने का प्रमाण है। महत्वपूर्ण: header और payload एन्कोडेड हैं, एन्क्रिप्टेड नहीं —कोई भी पढ़ सकता है।

क्रमशः

  1. टोकन को तीन भागों में विभाजित करें

    एक JWT xxxxx.yyyyy.zzzzz जैसा दिखता है। हेडर (भाग 0), पेलोड (भाग 1), और हस्ताक्षर (भाग 2) प्राप्त करने के लिए बिंदु वर्ण को विभाजित करें। यदि बिल्कुल तीन भाग नहीं हैं, तो टोकन विकृत है।

  2. Base64URL-हेडर को डिकोड करें

    हेडर एक Base64URL-एन्कोडेड JSON ऑब्जेक्ट है जैसे {"alg":"HS256","typ":"JWT"}। Base64URL + और / के बजाय - और _ का उपयोग करता है और पैडिंग छोड़ देता है। इसे डिकोड करें, फिर एल्गोरिथम को पढ़ने और टाइप करने के लिए JSON.parse करें। हमारा JWT डिकोडर यह स्वचालित रूप से करता है।

  3. Base64URL-पेलोड को डिकोड करें (दावा)

    पेलोड दावों की एक JSON वस्तु है। पंजीकृत दावों में आईएस (जारीकर्ता), उप (विषय), ऑड (दर्शक), एक्सपी (समाप्ति), एनबीएफ (पहले नहीं), आईएटी (जारी-एट), और जेटीआई (टोकन आईडी) शामिल हैं। निजी दावे एप्लिकेशन-विशिष्ट होते हैं (जैसे भूमिका, ईमेल)। डिकोड करें और निरीक्षण करें, लेकिन सत्यापित होने तक भरोसा न करें।

  4. समाप्ति तिथि और उससे पहले न किए गए दावों की जांच करें

    exp और nbf यूनिक्स टाइमस्टैम्प (सेकंड) हैं। यदि वर्तमान समय समाप्त हो गया है, तो टोकन समाप्त हो गया है और उसे अस्वीकार कर दिया जाना चाहिए। यदि वर्तमान समय nbf से पहले है, तो टोकन अभी तक मान्य नहीं है। UX के लिए इन क्लाइंट-साइड की जाँच करें, लेकिन सुरक्षा के लिए इन्हें सर्वर-साइड पर लागू करें।

  5. सर्वर पर हस्ताक्षर सत्यापित करें (क्लाइंट-साइड कभी नहीं)

    HS256 के लिए हस्ताक्षर HMAC-SHA256(गुप्त, हेडर.पेलोड) है, या RS256/ES256 के लिए RSA/ECDSA हस्ताक्षर है। सत्यापन के लिए गुप्त या सार्वजनिक कुंजी की आवश्यकता होती है, जो ब्राउज़र तक कभी नहीं पहुंचनी चाहिए। सत्यापित करने के लिए jsonwebtoken (नोड) या jose जैसी लाइब्रेरी का उपयोग करें—कभी भी अपना स्वयं का क्रिप्टो न लिखें।

उदाहरण

एक विशिष्ट JWT (तीन भाग)

इनपुट: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpmeJf36POk6yJV_adQssw5c

उत्पादन: Header: {"alg":"HS256","typ":"JWT"} Payload: {"sub":"1234567890","name":"John Doe","iat":1516239022}

मानक दावों के साथ डिकोडेड पेलोड

इनपुट: वास्तविक प्रमाणीकरण टोकन का पेलोड

उत्पादन: {"sub":"user-42","iss":"freeonlinetoolsgo.com","exp":1767229200,"iat":1767225600,"role":"admin"}

टोकन का पता लगाने की समयसीमा समाप्त हो गई है

इनपुट: क्स्प: 1609459200 (2021-01-01) 2026-08-28 पर चेक किया गया

उत्पादन: Token is expired —current time (1767225600) > exp (1609459200). Reject and prompt re-login.

सामान्य समस्या

  • डिकोड को सत्यापन के रूप में मानना: कोई भी व्यक्ति किसी भी दावे और नकली हस्ताक्षर के साथ JWT तैयार कर सकता है। डिकोडिंग पेलोड को पढ़ता है लेकिन कुछ भी साबित नहीं करता है। दावों पर भरोसा करने से पहले हमेशा सर्वर पर गुप्त/सार्वजनिक कुंजी से हस्ताक्षर सत्यापित करें।
  • 'कोई नहीं' एल्गोरिदम का उपयोग करना: JWT युक्ति असुरक्षित टोकन के लिए alg: none की अनुमति देती है। यदि आपका सत्यापनकर्ता alg: none स्वीकार करता है, तो एक हमलावर टोकन बना सकता है। किसी को भी अस्वीकार करने और अपेक्षित एल्गोरिदम को श्वेतसूची में डालने के लिए अपनी लाइब्रेरी को कॉन्फ़िगर करें।
  • JWTs को लोकलस्टोरेज में संग्रहीत करना: XSS लोकलस्टोरेज को पढ़ सकता है और टोकन को बाहर निकाल सकता है। सत्र टोकन के लिए httpकेवल, सुरक्षित, सेमसाइट = सख्त कुकीज़ को प्राथमिकता दें, या ताज़ा-टोकन कुकी के साथ अल्पकालिक इन-मेमोरी टोकन को प्राथमिकता दें।
  • exp/aud/iss की जाँच नहीं करना: चोरी हुआ टोकन समाप्त होने तक वैध होता है। सेवाओं में टोकन रीप्ले को रोकने के लिए प्रत्येक अनुरोध पर हमेशा exp (समाप्ति), aud (इच्छित दर्शक), और iss (जारीकर्ता) की जाँच करें।

सुझावों

  • अल्पकालिक एक्सेस टोकन (15 मिनट) और लंबे समय तक चलने वाले ताज़ा टोकन का उपयोग करें - यदि एक्सेस टोकन चोरी हो जाता है तो यह विंडो को सीमित कर देता है।
  • जब कई सेवाएँ टोकन सत्यापित करती हैं तो HS256 (सममित) की तुलना में RS256 (असममित) को प्राथमिकता दें: प्रत्येक सेवा को सार्वजनिक कुंजी मिलती है, और केवल जारीकर्ता के पास निजी कुंजी होती है।
  • विकास के दौरान हमारे JWT डिकोडर का उपयोग यह निरीक्षण करने के लिए करें कि सर्वर क्या जारी कर रहा है - यह कहीं भी टोकन भेजे बिना डिकोडेड हेडर, पेलोड और मानव-पठनीय दावा सारांश दिखाता है।
  • संवेदनशील डेटा (पासवर्ड, पीआईआई) को कभी भी JWT पेलोड में न डालें - यह Base64-एन्कोडेड है, एन्क्रिप्टेड नहीं है, और जो कोई भी टोकन को इंटरसेप्ट करता है वह हर दावे को पढ़ सकता है।

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

संबंधित मार्गदर्शिकाएँ

संदर्भ