क्या मेरा JWT किसी सर्वर पर भेजा जाता है?+−
नहीं। डिकोडिंग पूरी तरह आपके ब्राउज़र में atob और TextDecoder वेब API का उपयोग करके होती है - टोकन, और हस्ताक्षर सत्यापित करने के लिए पेस्ट की गई कोई भी सीक्रेट या पब्लिक की, कभी आपके डिवाइस से बाहर नहीं जाती।
क्या यह टूल हस्ताक्षर सत्यापित कर सकता है?+−
हाँ, यथासंभव प्रयास वाले बोनस के रूप में। यदि आप HMAC सीक्रेट (HS256/384/512 के लिए) जानते हैं या PEM-एन्कोडेड पब्लिक की (RS256/384/512 या ES256/384/512 के लिए) पेस्ट करते हैं, तो यह टूल ब्राउज़र के Web Crypto API का उपयोग करके स्थानीय रूप से हस्ताक्षर की जांच करता है। की के बिना, केवल हेडर और पेलोड डिकोड और प्रदर्शित होते हैं - डिकोडिंग के लिए कभी हस्ताक्षर करने वाली की की आवश्यकता नहीं होती।
एल्गोरिद्म "none" क्यों दिखा रहा है?+−
"alg": "none" का मतलब है कि टोकन बिल्कुल भी हस्ताक्षरित नहीं है - कोई भी इसमें कोई भी क्लेम लिख सकता था। कुछ लाइब्रेरीज़ ने ऐतिहासिक रूप से ऐसे अहस्ताक्षरित टोकनों को मान्य मान लिया, जो प्रमाणीकरण को दरकिनार करने का एक जाना-माना तरीका बन गया। यह टूल हमेशा इसे स्पष्ट रूप से चिह्नित करता है ताकि आप इसे न चूकें।
exp, iat, और nbf का क्या मतलब है?+−
ये RFC 7519 के मानक टाइमस्टैम्प क्लेम्स हैं: iat बताता है कि टोकन कब जारी किया गया, nbf वह सबसे पहला क्षण है जब यह मान्य होता है, और exp वह क्षण है जब यह मान्य नहीं रहता। तीनों को NumericDate के रूप में संग्रहीत किया जाता है - यूनिक्स epoch से सेकंड - जिसे यह टूल एक पठनीय तारीख और "2 घंटे में समाप्त होगा" जैसे सापेक्ष समय में बदल देता है।
मैं बिना सीक्रेट के पेलोड क्यों पढ़ सकता हूँ?+−
क्योंकि JWT का हेडर और पेलोड केवल base64url-एन्कोडेड होते हैं, एन्क्रिप्टेड नहीं - एन्कोडिंग गोपनीयता नहीं है। टोकन रखने वाला कोई भी पहले से ही क्लेम्स पढ़ सकता है; हस्ताक्षर केवल यह साबित करता है कि उन्हें बिना की वाले किसी व्यक्ति ने बदला नहीं है। कभी भी ऐसी कोई चीज़ सीधे JWT पेलोड में न डालें जिसे आप नहीं चाहते कि कोई हमलावर पढ़ ले।
मेरे टोकन में 3 भाग हैं फिर भी डिकोड नहीं हो रहा - क्यों?+−
तीनों खंडों (हेडर, पेलोड, हस्ताक्षर) में से हर एक को मान्य base64url टेक्स्ट होना चाहिए, और हेडर तथा पेलोड को मान्य JSON में डिकोड होना चाहिए। यह टूल हेडर और पेलोड को अलग-अलग डिकोड करता है और चुपचाप विफल होने के बजाय बिल्कुल बताता है कि कौन-सा हिस्सा खराब है और क्यों (गलत base64, गलत UTF-8, या अमान्य JSON)।