JWT जनरेटर कैसे इस्तेमाल करें
- पेलोड JSON एडिट करें (iss, sub, aud, roles जैसे क्लेम)।
- HMAC एल्गोरिदम चुनें और वही साझा सीक्रेट डालें जो आपका API इस्तेमाल करता है।
- चाहें तो अभी से आगे की एक्सपायरी सेट करें (जैसे 60 मिनट) और iat स्टैम्प करें।
- Generate पर क्लिक करें और साइन किया हुआ टोकन अपने Authorization हेडर में कॉपी करें।
JWT जनरेटर की खूबियाँ
- हेडर और पेलोड JSON एडिट करने योग्य, साथ में एक वास्तविक नमूना
- WebCrypto से HS256, HS384 और HS512 साइनिंग — कुछ भी ब्राउज़र से बाहर नहीं जाता
- सीक्रेट UTF-8 टेक्स्ट के रूप में या Base64/Base64url एन्कोडेड बाइट के रूप में
- एक क्लिक वाले "exp from now (+minutes)" और "iat = now" हेल्पर
- छोटे सीक्रेट, गायब exp या पहले से एक्सपायर टोकन पर चेतावनी देता है
- तीनों सेगमेंट, उनके साइज़ और तुरंत इस्तेमाल लायक curl कमांड दिखाता है
JWT जनरेटर का उदाहरण
API टेस्ट के लिए टोकन साइन करना
इनपुट:
Payload: {"sub":"user_8f3a2c","aud":"api://orders","roles":["admin"]}
Algorithm: HS256 · Secret: your-256-bit-secret · exp: +60 minutesआउटपुट:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzhmM2EyYyIsImF1ZCI6ImFwaTovL29yZGVycyIsInJvbGVzIjpbImFkbWluIl0sImV4cCI6MTcwMDAwMzYwMH0.<signature>JWT जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
कौन-से एल्गोरिदम समर्थित हैं?
HS256, HS384 और HS512 — यानी HMAC परिवार, जिसे सिर्फ़ एक साझा सीक्रेट चाहिए। असममित एल्गोरिदम (RS256, ES256…) के लिए प्राइवेट की चाहिए; उसे RSA Key Generator से बनाएँ और अपनी सर्वर लाइब्रेरी से साइन करें।
अभी से आगे की एक्सपायरी कैसे सेट करूँ?
"Set exp from now" में मिनटों की संख्या डालें। टूल exp क्लेम को मौजूदा समय + उस अवधि से बदल देता है और चाहें तो iat पर भी मौजूदा समय स्टैम्प कर देता है।
सीक्रेट कितना लंबा होना चाहिए?
कम से कम हैश आउटपुट जितना: HS256 के लिए 32 बाइट, HS384 के लिए 48 और HS512 के लिए 64 (RFC 7518 §3.2)। इसे बनाने के लिए Random Secret Generator इस्तेमाल करें; सीक्रेट छोटा होने पर टूल चेतावनी देता है।
क्या यह टोकन मेरे बैकएंड के साथ काम करेगा?
हाँ, बशर्ते बैकएंड वही सीक्रेट, वही एल्गोरिदम और वैसी ही क्लेम अपेक्षाएँ (issuer, audience, expiry) इस्तेमाल करता हो। आउटपुट पूरी तरह RFC 7519 के अनुरूप है और उसी इनपुट पर jsonwebtoken, PyJWT तथा jose जैसी लाइब्रेरियों के नतीजे से मेल खाता है।
क्या मेरा सीक्रेट अपलोड होता है?
नहीं। साइनिंग आपके ब्राउज़र में crypto.subtle से होती है; सीक्रेट और टोकन कभी आपके डिवाइस से बाहर नहीं जाते।
तकनीकी नोट्स
हेडर और पेलोड कॉम्पैक्ट JSON के रूप में सीरियलाइज़ होते हैं, बिना पैडिंग के Base64url में एन्कोड होते हैं और डॉट से जोड़ दिए जाते हैं। उस साइनिंग इनपुट का HMAC crypto.subtle.sign से निकाला जाता है और तीसरे सेगमेंट के रूप में जोड़ दिया जाता है — ठीक वैसे ही जैसे RFC 7515 बताता है। हेडर की alg वैल्यू हमेशा चुने हुए एल्गोरिदम पर सेट रहती है, ताकि टोकन एकरूप बना रहे।