JWT डिकोडर
किसी भी JSON वेब टोकन को पूरी तरह ब्राउज़र में जांचें। डिकोडेड हेडर, पेलोड, हस्ताक्षर और मानव-पठनीय क्लेम देखें। टोकन डिवाइस से बाहर नहीं जाता।
JWT क्या है?
JSON वेब टोकन (JWT) हस्ताक्षरित क्लेम को कॉम्पैक्ट, URL-सुरक्षित तरीके से दो पक्षों के बीच भेजने का तरीका है। OAuth/OpenID, SPA-API प्रमाणीकरण और microservices में व्यापक उपयोग। तीन base64url भाग।
JWT में क्या होता है?
तीन भाग। हेडर — एल्गोरिदम (HS256, RS256) और टोकन प्रकार घोषित करता है। पेलोड — वास्तविक क्लेम: विषय, समाप्ति, कस्टम डेटा। हस्ताक्षर — पहले दो भागों पर क्रिप्टोग्राफिक प्रमाण।
JWT बनाम session टोकन
JWT उपयोगकर्ता पहचान को टोकन में रखता है, इसलिए सर्वर को session lookup की ज़रूरत नहीं। Session टोकन एक opaque ID है जो सर्वर state को mapping करता है। JWTs sticky sessions बिना scale करते हैं।
कच्चा base64 डिकोडिंग चाहिए? हमारा Base64 एनकोडर देखें ।
सामान्य उपयोग
- OAuth/OIDC डिबगिंग: Auth0, Okta, Cognito के access और ID टोकन की जाँच करें।
- API प्रमाणीकरण troubleshooting: उत्पादन में 401 आने पर, Authorization हेडर से टोकन डिकोड करें।
- SSO एकीकरण: SAML/OIDC config बदलने से पहले IdP के क्लेम सत्यापित करें।
- Microservice trust सत्यापन: downstream propagate करने से पहले आंतरिक टोकन में सेवा पहचान क्लेम पुष्टि करें।
- Postman/Insomnia डिबगिंग: अपने collection variables से टोकन पेस्ट करें और सही tenant की पुष्टि करें।
- मोबाइल ऐप टोकन निरीक्षण: mitmproxy/Charles Proxy से कैप्चर टोकन डिकोड करें।
- Code review: PR और यूनिट टेस्ट में नमूना टोकन की spot-check करें — exp 5 मिनट या 5 दिन? sub PII leak करता है?
FAQ
JWT क्या है?
JSON वेब टोकन दो पक्षों के बीच क्लेम को कॉम्पैक्ट, URL-सुरक्षित रूप से दर्शाने का तरीका है। RFC 7519 में परिभाषित।
क्या JWT एन्क्रिप्ट किया हुआ है?
नहीं — डिफ़ॉल्ट रूप से JWT हस्ताक्षरित है लेकिन एन्क्रिप्टेड नहीं। हेडर और पेलोड base64url JSON हैं, टोकन रखने वाला कोई भी पढ़ सकता है। गोपनीयता के लिए JWE (RFC 7516) उपयोग करें।
base64url base64 से कैसे अलग है?
base64url URL-सुरक्षित संस्करण है (RFC 4648 §5)। + और / को - और _ से बदलता है, और trailing = padding हटाता है। JWTs URLs में सुरक्षित यात्रा के लिए इसका उपयोग करते हैं।
यह टूल हस्ताक्षर सत्यापित क्यों नहीं करता?
हस्ताक्षर सत्यापित करने के लिए signing key चाहिए — production key को ब्राउज़र टूल में पेस्ट करना सबसे बुरी चीज़ है। हमने जानबूझकर सत्यापन को बाहर रखा। server-side पुस्तकालयों का उपयोग करें।
JWT बनाम सत्र — कब क्या?
JWTs stateless microservices और मोबाइल क्लाइंट के लिए उत्तम। Sessions पारंपरिक वेब ऐप्स के लिए सरल जहाँ आप दोनों छोर नियंत्रित करते हैं। वास्तविक सिस्टम अक्सर दोनों का उपयोग करते हैं।
आँकड़ों में
- JWT RFC 7519 (मई 2015) में परिभाषित हैं — दो पक्षों के बीच क्लेम दर्शाने का कॉम्पैक्ट, URL-सुरक्षित तरीका
- JWT डिफ़ॉल्ट रूप से एन्क्रिप्टेड नहीं है — कोई भी इसे रखने वाला payload पढ़ सकता है। गोपनीयता ज़रूरी हो तो JWE (RFC 7516) उपयोग करें
- हस्ताक्षर JWS (RFC 7515) का उपयोग करता है — आमतौर पर साझा-गुप्त के लिए HMAC-SHA256 (HS256) या असममित सत्यापन के लिए RSA-SHA256 (RS256)
- JWTs के अंदर उपयोग होने वाला Base64url RFC 4648 §5 में परिभाषित URL-सुरक्षित संस्करण है —
+//को-/_से बदलता है, padding हटाता है