מהו מחולל JWT?
מחולל JWT בונה JSON Web Token מכותרת, מטען של תביעות וסוד, ואז חותם עליו כדי ששרת יוכל לסמוך על התוכן ל-JWT יש שלושה מקטעי base64url שמצטרפים אליהם נקודות: הכותרת שמה את אלגוריתם החתימה, המטען נושא את הטענות, והחתימה היא HMAC על שני החלקים הראשונים כלי זה מרכיב את שלושתם מהערכים שאתה מספק ומחזיר אסימון שאתה יכול להוריד לכותרת הרשאה, מתקן בדיקה או פקודת curl.
הסיבה ליצור אסימון ביד היא בדיקה וניפוי באגים. כאשר אתה בונה API המאמת JWTs, אתה צריך אסימונים לדוגמה עם טענות ספציפיות: אחד שפג תוקפו כדי לאשר את נתיב 401 שלך, אסימון עבור מזהה משתמש מסוים, אחד עם תפקיד או היקף מותאמים אישית, או אחד חתום בסוד ידוע כדי שתוכל לאמת את תוכנת הביניים שלך מקבלת את זה. כתיבת אלה באמצעי יד base64url-קידוד שני אובייקטי JSON ומחשוב HMAC, שהוא בדיוק סוג העבודה המטופשת והנוטה לשגיאות שכלי צריך לעשות. כאן אתה מדביק את הטענות כ-JSON, בחר HS256, HS384 או HS512, הזן את הסוד, והאסימון החתום מופיע.
אתה יכול לבדוק את מחולל JWT מקוון זה מול כל מאמת. הדבק {"sub":"123","role":"admin","iat":1700000000}, שמור את HS256 עם ברירת המחדל הסודי a-string-secret-at-least-256-bits-long ו-UTF-8 (טקסט רגיל) קידוד, בטל סימון הוסף תפוגה (exp) ולחץ על צור אסימון המטען כבר נושא iat, כך שהכלי משאיר אותו לבד והאסימון זהה בכל פעם, ומסתיים ב.FumKGaSAuIzRc5ZnHmLGYsG5RHGObIpl2awmuMAtJYk. משמש כמחולל JWT עם מפתח סודי שכבר יש לך, זו הדרך המהירה ביותר להוכיח ששני הצדדים מסכימים על בתים של המפתח.
הכלי גם ממלא עבורך שתי תביעות זמן רשומות. הוסף חותמות שהונפקו ב-(iat) iat עם זמן ה-Unix הנוכחי, אלא אם למטען שלך כבר יש אחת, והוסף ערכות תפוגה (exp) exp לזמן הנוכחי בתוספת ערך התפוגה ב-(שניות), החלפת כל exp במטען. אין בקרה לא לפני, אז הקלד חותמת זמן nbf לתוך המטען אם אתה צריך אחת. תביעות זמן הן מה שרוב באגי האימות מגיעים אליו, כך שיצירתם תוך שניות מאז העידן ולא אלפיות השנייה מסירה מקור נפוץ לטעויות.
הכל קורה בדפדפן שלך המטען, הסוד והחתימה כולם פועלים באופן מקומי ב-JavaScript דרך ה-Web Crypto API המובנה, כך שהסוד שלך לעולם לא מועבר, נרשם או מאוחסן. זה חשוב מכיוון שסוד חתימה הוא הערך היחיד שמאפשר לכל אחד להטביע אסימונים חוקיים עבור המערכת שלך. מכיוון שהעבודה היא מקומית, הכלי גם ממשיך לתפקד במצב לא מקוון לאחר טעינת הדף. רק אלגוריתמי HMAC מוצעים בכוונה: RS256 ו-ES256 חותמים עם מפתח פרטי, והדבקת מפתח פרטי בדף אינטרנט היא הרגל שכדאי להימנע ממנו.
כיצד להשתמש במחולל JWT?
הזן את תביעות המטען
הקלד או הדבק את המטען כאובייקט JSON, לדוגמה { "sub": "123", "role": "admin" }. לחץ על Load Sample כדי לראות את הצורה הצפויה. כל הטענות שאתה כולל נשמרות כפי שהן.
הוסף תביעות זמן
השאר הוסף מונפק ב-(iat) מסומן כדי להחתים את השעה הנוכחית, ושמור על הוסף תפוגה (exp) מסומן עם ערך ב-Expires in (שניות) כדי להוסיף exp. עבור nbf, הקלד את חותמת הזמן במטען בעצמך.
בחר את האלגוריתם והסוד
בחר HS256, HS384, או HS512 והזן את סוד החתימה בחר אם הסוד הוא טקסט רגיל, base64url או hex כך שהוא מפוענח לבייטים המדויקים שבהם משתמש המאמת שלך.
העתק את האסימון החתום
ה-JWT החתום מופיע עם תצוגה מקדימה מפוענחת של הכותרת והמטען. העתק אותו ללוח שלך והשתמש בו בכותרת הרשאה, בדיקה או בקשה.
תכונות מפתח
חתימת HMAC (HS256/384/512)
אסימונים חתומים עם HMAC-SHA-256, 384 או 512 אמיתיים דרך הדפדפן Web Crypto API, כך שהחתימה תואמת למה שספריית שרת כמו jsonwebtoken או jose תאמת.
תביעות זמן אוטומטיות
iat ו-exp מחושבים מהזמן הנוכחי ומהתפוגה שהגדרת, בשניות מאז התקופה, מה שמסיר את הסיבה השכיחה ביותר לאסימונים שמאמתים שגוי.
קידוד סודי גמיש
הסוד יכול להיות טקסט רגיל, base64url, או hex.זה מפוענח לבייטים המקשים המדויקים שהמאמת שלך מצפה להם, מה שחשוב כאשר הסוד שלך מאוחסן מקודד base64.
תצוגה מקדימה מפוענחת
לצד האסימון אתה רואה את הכותרת והמטען מעובדים כ-JSON מעוצב, כך שתוכל לאשר את האלגוריתם וכל טענה לפני השימוש באסימון.
Frequently Asked Questions
Related Tools
Hash Generator
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text
JWT Decoder
Decode JWT headers and payloads, inspect claims, and check token expiry
CSS Grid Generator
Build CSS Grid layouts visually. Set columns, rows, track sizes, gaps and alignment with a live preview, then copy the generated grid CSS - all in your browser.
UUID Generator
Generate random UUIDs (Universally Unique Identifiers)
Comments
0 comments
No comments yet. Be the first to share your thoughts!