מפענח JWT
הדביקו JSON Web Token כדי לקרוא את ה-header וה-payload שלו, לראות מתי הוא פג ולהבין כל claim. הטוקן שלכם לעולם לא יוצא מהדפדפן.
רץ בדפדפן שלכםבלי הרשמהשום דבר לא מועלה
פענוח הוא לא אימות. כל אחד יכול לקרוא את ה-header וה-payload של JWT, כי הם רק מקודדים ב-base64url. הכלי הזה מציג מה הטוקן טוען; הוא לא מוכיח שהטוקן אמיתי. תמיד אמתו את החתימה בשרת שלכם.
Header
Payload
הסבר ה-claims
אימות חתימה (אופציונלי, HS256/HS384/HS512)
בודק חתימת HMAC עם סוד שאתם מזינים, באמצעות Web Crypto API של הדפדפן. הסוד לעולם לא יוצא מהדף. טוקני RSA/ECDSA דורשים את המפתח הציבורי של המנפיק ואינם מאומתים כאן.
איך משתמשים בכלי מפענח JWT
- הדביקו את הטוקן בתיבה טוקן מקודד. קידומת
Bearerמכותרת Authorization מתעלמים ממנה. - ה-header וה-payload מפוענחים מיד ומוצגים כ-JSON מעוצב.
- קראו את טבלת הסבר ה-claims:
exp,iatו-nbfמומרים לתאריכים עם זמנים כמו „יפוג בעוד” / „פג לפני”. - בדקו בשורת הסטטוס בעיות תוקף, ובאזהרות הגדרות מסוכנות כמו
alg: none. - אם תרצו, הזינו את הסוד המשותף כדי לאמת מקומית חתימת HS256, HS384 או HS512.
מה יש בתוך JWT?
JSON Web Token (RFC 7519) הוא שלוש מחרוזות base64url המחוברות בנקודות: header.payload.signature. ה-header מציין את אלגוריתם החתימה (alg) ואת סוג הטוקן. ה-payload מכיל את ה-claims, כמו מי המשתמש ומתי הטוקן פג. ה-signature מחושבת על שני החלקים הראשונים עם סוד או מפתח פרטי.
פענוח הוא לא אימות
ה-header וה-payload רק מקודדים, לא מוצפנים, כך שכל מי שמחזיק בטוקן יכול לקרוא אותם. לכן לעולם אל תשימו סיסמאות או סודות ב-payload של JWT. פענוח מגלה מה הטוקן טוען. אימות החתימה, בדרך כלל בשרת ה-API שלכם עם ספרייה כמו jose או PyJWT, מוכיח מי הנפיק אותו ושהוא לא שונה. השרת חייב גם לבדוק את exp, nbf, iss ו-aud, ולדחות אלגוריתמים לא צפויים.
דף עזר ל-claims רשומים
| Claim | משמעות |
|---|---|
iss | מנפיק: מי יצר וחתם על הטוקן |
sub | נושא: בדרך כלל מזהה המשתמש |
aud | קהל יעד: לאיזה API הטוקן מיועד |
exp | זמן תפוגה, בשניות מאז ה-Unix epoch |
nbf | לא תקף לפני הזמן הזה |
iat | זמן ההנפקה |
jti | מזהה טוקן ייחודי, שימושי לרשימות ביטול |
דיבאג של שגיאות „token expired”
אם API דוחה טוקן שנראה טרי, השוו את exp ו-nbf לשעון של השרת. הפרשי שעון קטנים בין מכונות נפוצים, ולכן רוב הספריות מאפשרות מרווח של 30-60 שניות. בדקו גם ש-exp בשניות: ערך במילישניות הוא באג נפוץ, והוא דוחה את התפוגה באלפי שנים.
שאלות נפוצות
האם בטוח להדביק כאן JWT מפרודקשן?
האם הכלי מאמת את חתימת ה-JWT?
למה הטוקן שלי מוצג כפג תוקף?
exp נמצא בעבר ביחס לשעון של המחשב שלכם. בקשו טוקן חדש, או חדשו אותו עם ה-refresh token. אם הזמנים נראים שגויים, בדקו הפרשי שעון או ערך exp שנכתב במילישניות.מה ההבדל בין JWT, JWS ו-JWE?
למה alg „none” מסוכן?
alg: none ולקבל רק את האלגוריתם הספציפי שהם מצפים לו.