JWT टोकन को कैसे डिकोड करें और क्लेम का सुरक्षित निरीक्षण करें
त्वरित जवाब
JWT डिकोड करने के लिए: JWT Decoder में टोकन पेस्ट करें और header व payload तुरंत geformatteerde JSON में दिखते हैं। टूल Base64URL भाग स्थानीय रूप से डिकोड करता है —टोकन कभी ब्राउज़र नहीं छोड़ता। याद रखें: डिकोडिंग केवल सामग्री दिखाती है; signature सत्यापित नहीं करती।
परिचय
JWT (JSON Web Token) एक कॉम्पैक्ट, URL-safe टोकन फॉर्मेट है जो authentication और सूचना विनिमय के लिए उपयोग होता है। JWT के तीन भाग होते हैं: header.payload.signature। header algorithm निर्दिष्ट करता है, payload claims (user ID, roles, expiration) रखता है, signature अनन्यासितता सिद्ध करता है। डिकोडिंग सामग्री निरीक्षण देती है लेकिन authenticity सत्यापित नहीं करती।
क्रमशः
-
JWT डिकोडर टूल खोलें
JWT डिकोडर टूल पेज पर जाएं। उपकरण किसी भी JWT स्ट्रिंग (डॉट्स द्वारा अलग किए गए तीन बेस64URL-एन्कोडेड भाग) को स्वीकार करता है।
-
अपना JWT टोकन चिपकाएँ
JWT को इनपुट फ़ील्ड में चिपकाएँ। एक विशिष्ट JWT इस तरह दिखता है: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature. उपकरण तीन भागों का स्वतः पता लगाता है।
-
डिकोड किए गए हेडर की समीक्षा करें
टूल Base64URL पहले भाग को डिकोड करता है और इसे JSON के रूप में प्रदर्शित करता है। हेडर में आम तौर पर 'एलजी' (एल्गोरिदम, उदाहरण के लिए, एचएस256) और 'टाइप' (प्रकार, आमतौर पर 'JWT') होता है।
-
डिकोड किए गए पेलोड (दावे) की समीक्षा करें
टूल दूसरे भाग को डिकोड करता है और दावों को स्वरूपित JSON के रूप में प्रदर्शित करता है। सामान्य दावों में 'उप' (विषय/उपयोगकर्ता आईडी), 'आईएटी' (जारी), 'एक्सप' (समाप्ति), और 'भूमिका' (उपयोगकर्ता भूमिका) शामिल हैं।
-
हस्ताक्षर की जाँच करें (तीसरा भाग)
उपकरण हस्ताक्षर भाग दिखाता है. ध्यान दें: डिकोडिंग हस्ताक्षर को सत्यापित नहीं करता है। सत्यापित करने के लिए, आपको हस्ताक्षर कुंजी और एक सत्यापन लाइब्रेरी की आवश्यकता है। हस्ताक्षर सर्वर-साइड को सत्यापित किए बिना JWT के दावों पर कभी भरोसा न करें।
उदाहरण
एक सरल JWT डिकोड करें
इनपुट: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMSIsIm5hbWUiOiJBbGljZSIsImlhdCI6MTY5MzUyNjQwMH0.signature
उत्पादन: Header: {"alg":"HS256","typ":"JWT"}
Payload: {"sub":"user1","name":"Alice","iat":1693526400}
समाप्ति दावे के साथ JWT
इनपुट: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY5MzYxMjgwMH0.sig
उत्पादन: Header: {"alg":"HS256"}
Payload: {"sub":"admin","exp":1693612800}
सामान्य समस्या
- सत्यापन के साथ डिकोड को भ्रमित करना - JWT को डिकोड करना केवल इसकी सामग्री को पढ़ता है; यह साबित नहीं करता कि टोकन प्रामाणिक है। हमेशा हस्ताक्षर सर्वर-साइड को हस्ताक्षर कुंजी से सत्यापित करें।
- समाप्त हो चुके टोकन पर भरोसा करना—'एक्सप' दावे की जांच करें और समाप्त हो चुके टोकन को अस्वीकार करें। 'एक्सप' मान सेकंड में यूनिक्स टाइमस्टैम्प है।
- Base64 बनाम Base64URL —JWT Base64URL एन्कोडिंग का उपयोग करता है (कोई पैडिंग नहीं, + और / के बजाय - और _)। एक मानक Base64 डिकोडर JWT भागों पर विफल हो जाएगा।
- पेलोड में संवेदनशील डेटा -JWT पेलोड किसी भी व्यक्ति द्वारा पढ़ा जा सकता है जिसके पास टोकन है। पेलोड में पासवर्ड, क्रेडिट कार्ड नंबर या अन्य रहस्य संग्रहीत न करें।
सुझावों
- किसी भी दावे पर भरोसा करने से पहले हमेशा JWT हस्ताक्षर सर्वर-साइड को सत्यापित करें - अकेले डिकोडिंग प्रमाणीकरण नहीं है।
- यह सुनिश्चित करने के लिए कि टोकन वर्तमान समय के लिए वैध है, 'एक्सप' (समाप्ति) और 'एनबीएफ' (पहले नहीं) दावों की जांच करें।
- लंबे सत्रों के लिए ताज़ा टोकन के साथ अल्पकालिक टोकन (15-60 मिनट) का उपयोग करें - टोकन लीक होने पर क्षति को कम करता है।
- सुरक्षित, स्थानीय डिबगिंग के लिए हमारे JWT डिकोडर का उपयोग करें—आपका टोकन आपके ब्राउज़र को कभी नहीं छोड़ता।