JWT जनरेटर
कस्टम हेडर, पेलोड और कुंजी के साथ हस्ताक्षरित JWT बनाएं। HS256, RS256, ES256 समर्थित।
JWT क्या है?
JWT (JSON Web Token, RFC 7519) एक खुला मानक है जो कंपैक्ट JSON ऑब्जेक्ट के रूप में पार्टियों के बीच जानकारी सुरक्षित रूप से ट्रांसमिट करता है। यह तीन भागों से बना है: Header.Payload.Signature, बिंदुओं से अलग।
JWT के सामान्य उपयोग क्या हैं?
JWT व्यापक रूप से प्रमाणीकरण (सिंगल साइन-ऑन), API प्राधिकरण और सुरक्षित जानकारी के आदान-प्रदान के लिए उपयोग किया जाता है। लॉगिन के बाद, सर्वर JWT जारी करता है जिसे क्लाइंट बाद की अनुरोधों में शामिल करता है।
HS256, RS256 और ES256 में कैसे चुनें?
HS256 साझा रहस्य का उपयोग करता है और सबसे तेज़ है, एकल सेवा के लिए उपयुक्त। RS256 RSA कुंजी जोड़े का उपयोग करता है, बहु-सेवा आर्किटेक्चर के लिए बेहतर। ES256 एलिप्टिक कर्व कुंजी का उपयोग करता है, छोटे हस्ताक्षर के साथ मजबूत सुरक्षा।
JWT क्लेम्स क्या हैं?
क्लेम्स पेलोड में कथन हैं। पंजीकृत क्लेम्स में iss (जारीकर्ता), sub (विषय), exp (समाप्ति), aud (दर्शक) शामिल हैं। सार्वजनिक क्लेम्स IANA में पंजीकृत किए जा सकते हैं। निजी क्लेम्स पक्षों के बीच अनुकूलित फ़ील्ड हैं।
JWT को कैसे सत्यापित करें?
एल्गोरिदम प्राप्त करने के लिए हेडर को डिकोड करें, फिर उपयुक्त कुंजी (HMAC के लिए साझा रहस्य, RSA/ECDSA के लिए सार्वजनिक कुंजी) से हस्ताक्षर सत्यापित करें। exp, iss और aud क्लेम्स भी जांचें।
क्या ब्राउज़र में JWT बनाना सुरक्षित है?
हाँ, यह उपकरण Web Crypto API का उपयोग करता है। आपकी कुंजियाँ और टोकन ब्राउज़र नहीं छोड़ते। कोई डेटा सर्वर को नहीं भेजा जाता।
एन्कोडिंग और साइनिंग में क्या अंतर है?
एन्कोडिंग (Base64) केवल डेटा को ट्रांसमिट करने योग्य प्रारूप में बदलती है और कोई भी इसे रिवर्स कर सकता है। साइनिंग एक क्रिप्टोग्राफिक हैश बनाता है जो साबित करता है कि टोकन छेड़छाड़ नहीं हुई है।
क्या JWT को एन्क्रिप्ट किया जा सकता है?
हाँ, JWE (JSON Web Encryption) पेलोड सामग्री को एन्क्रिप्ट करता है। मानक JWT (JWS) केवल अखंडता सुनिश्चित करता है, लेकिन पेलोड टोकन रखने वाले किसी भी व्यक्ति द्वारा पढ़ा जा सकता है।
JWT की सुरक्षा सर्वोत्तम प्रथाएँ क्या हैं?
हमेशा छोटी समाप्ति समय सेट करें। HMAC के लिए मजबूत, यादृच्छिक रहस्य का उपयोग करें। RSA/ECDSA की निजी कुंजियाँ सुरक्षित रखें। पेलोड में संवेदनशील डेटा न डालें। प्रोडक्शन में HTTPS का उपयोग करें।
JWT और सत्र-आधारित प्रमाणीकरण में क्या अंतर है?
JWT स्टेटलेस है — सर्वर सत्र डेटा संग्रहीत नहीं करता, माइक्रोसर्विसेज और क्रॉस-डोमेन के लिए आदर्श। सत्रों को सर्वर-साइड स्टोरेज की आवश्यकता होती है लेकिन तत्काल रद्दीकरण संभव है।
क्या JWT लॉगआउट और सत्र प्रबंधन के लिए उपयुक्त है?
JWT डिज़ाइन से स्टेटलेस है, इसलिए लॉगआउट के लिए ब्लैकलिस्ट या छोटे जीवनकाल वाले टोकन और रिफ्रेश टोकन जैसे अतिरिक्त तंत्र चाहिए। छोटे जीवनकाल वाले एक्सेस टोकन (जैसे 15 मिनट) का उपयोग करें।
रिफ्रेश टोकन पैटर्न JWT के साथ कैसे काम करता है?
API कॉल के लिए छोटे जीवनकाल वाले एक्सेस टोकन (JWT) और लंबे जीवनकाल वाले रिफ्रेश टोकन का उपयोग नए एक्सेस टोकन प्राप्त करने के लिए करें। जब एक्सेस टोकन समाप्त हो, क्लाइंट रिफ्रेश टोकन भेजकर नया JWT प्राप्त करता है।
"none" एल्गोरिदम क्या है?
"none" एल्गोरिदम का अर्थ है JWT अहस्ताक्षरित है। केवल परीक्षण के लिए उपयोग करें। कई लाइब्रेरी इसे सुरक्षा के लिए डिफ़ॉल्ट रूप से अक्षम करती हैं।
क्या JWT की आकार सीमाएँ हैं?
JWT की कोई निश्चित आकार सीमा नहीं है, लेकिन HTTP हेडर में भेजे जाने के कारण 4KB से कम रखें। पेलोड को न्यूनतम रखें।