فاكّ ترميز رموز JWT
فكّ ترميز أي JSON Web Token لقراءة الترويسة والحمولة وتاريخ الانتهاء بلغة واضحة، دون إرسال الرمز إلى أي مكان.
JWT
يتم فك الترميز داخل متصفحك. ولا يُرسَل الرمز المميّز إلى أي مكان.
بعد فك الترميز
الترويسة (Header)
الحمولة (Payload)
التوقيع
التحقق من التوقيع يتطلب المفتاح السري أو المفتاح العام، وهو ليس جزءًا من الرمز المميّز.
كيفية استخدام أداة فك ترميز JWT
الصق رمز JSON Web Token كاملًا: ثلاثة مقاطع بترميز Base64Url تفصلها نقاط. تقسّم الأداة الرمز، وتفك ترميز كل جزء، وتعرض الترويسة والحمولة بصيغة JSON منسّقة. وتُعرض المطالبات القياسية مثل exp وiat وnbf وiss وaud وsub بلغة بسيطة، بما في ذلك ما إذا كان الرمز قد انتهت صلاحيته. يمكنك لصق قيمة "Authorization: Bearer" كاملة وستُزال البادئة.
لماذا تفك ترميز الرموز محليًا
رموز JWT موجودة في كل مكان في أنظمة المصادقة الحديثة: OAuth 2.0 وOpenID Connect والوصول إلى واجهات API والروابط السحرية وروابط إعادة تعيين كلمة المرور. وتبدأ معالجة استدعاء API فاشل عادةً بقراءة مطالبات الرمز. كثير من أدوات فك الترميز عبر الإنترنت ترسل رمزك إلى خادم، وهي عادة سيئة مع رموز قد تكون لا تزال صالحة. أما هذه الأداة فتعمل بالكامل داخل متصفحك.
استخدامات شائعة
- معالجة استجابات "401 Unauthorized" عبر فحص المطالبات
- التأكد من أن الرمز لم تنتهِ صلاحيته
- التحقق من أن الجمهور (aud) يطابق ما تتوقعه واجهة API لديك
- معرفة الأدوار أو النطاقات التي يحملها رمز المستخدم
- تعليم المهندسين الجدد كيفية بناء رموز JWT
بنية JWT: header.payload.signature
تحدّد الترويسة خوارزمية التوقيع (alg) ونوع الرمز (typ). وتحمل الحمولة المطالبات: القياسية منها مثل exp وiat وiss، إضافةً إلى المخصّصة مثل الأدوار أو الصلاحيات. أما التوقيع فيثبت أن الرمز لم يُعدَّل. فك الترميز ليس تحققًا: يستطيع أي شخص قراءة أي رمز JWT، لكن لا يستطيع تأكيد التوقيع إلا من يملك المفتاح الصحيح.
لماذا لا يمكن التحقق من التواقيع هنا
يتطلب التحقق إما السر المشترك (لخوارزميات HMAC مثل HS256) أو المفتاح العام للجهة المُصدِرة (لخوارزميات RSA أو ECDSA مثل RS256). ولا يوجد أيّ منهما داخل الرمز. فالرمز وحده يخبرك بما ادّعته الجهة المُصدِرة، والمفتاح وحده يخبرك بأنه صدر عنها فعلًا.
الأسئلة الشائعة
هل لصق رمز JWT هنا آمن؟
تعمل الأداة داخل متصفحك ولا ترسل شيئًا إلى أي خادم. ومع ذلك، تعامل مع أي رمز غير منتهي الصلاحية يمنح الوصول إلى شيء مهم كما تتعامل مع كلمة المرور، واحذر من الأدوات التي قد تسجّله.
هل رموز JWT مشفّرة؟
رموز JWT القياسية موقّعة لا مشفّرة، لذا يستطيع أي شخص قراءة الحمولة. أما الرموز المشفّرة فتستخدم JWE (JSON Web Encryption)، وهو معيار منفصل من خمسة أجزاء بدلًا من ثلاثة. لا تضع أسرارًا في حمولة JWT عادية.
ماذا يعني "JWT signature invalid" في سجلات API لديّ؟
إما أن الرمز قد عُدِّل، أو وُقِّع بمفتاح مختلف، أو أن أداة التحقق لديك تتوقع خوارزمية مختلفة. فك ترميز الترويسة وتأكّد من أن قيمة alg تطابق ما ضُبطت عليه أداة التحقق.
أين تُعرَّف المطالبات القياسية؟
يعرّف RFC 7519 المطالبات iss (الجهة المُصدِرة) وsub (الموضوع) وaud (الجمهور) وexp (انتهاء الصلاحية) وnbf (ليس قبل) وiat (وقت الإصدار) وjti (معرّف JWT). أما المطالبات المخصّصة فحرّة الشكل، ومن أشيعها roles وscope وemail وtenant_id.

