Fruga

فاكّ ترميز JWT والتحقق من التوقيع

اقرأ ترويسة التوكن وادعاءاته، واعرف متى تنتهي صلاحيته بكلمات مفهومة لا بثوانٍ منذ epoch، وتحقّق من توقيعه بسرّك أو مفتاحك العام، وكل ذلك في هذا التبويب. توكن JWT بيانات اعتماد لحاملها: من يملكه يستطيع التصرّف باسم صاحبه، وهذا سبب كافٍ لئلّا تلصقه في خادم لا تملكه.

  • يتحقّق منHS256/384/512, RS, PS
  • التوكنلا يغادر التبويب أبداً
  • المفاتيحلا تُخزَّن ولا تُرسَل

التوكن

الصقه مع البادئة Bearer أو بدونها.

الخوارزمية
HS256
JWT
الادعاءات
8
في الحمولة
الحالة
منتهي الصلاحية
السنة الماضية
  • منتهي الصلاحية: قيمة exp في الماضي.

التوقيع

توكنات HMAC يُتحقَّق منها بالسرّ المشترك.

التوقيع صحيح مع هذا السرّ (HS256).

يجري التحقق عبر WebCrypto المدمج في المتصفح نفسه. لا يُرسَل شيء من هذه الصفحة: راقب تبويب الشبكة، أو حمّل الصفحة ثم افصل الإنترنت.

الترويسة

{
  "alg": "HS256",
  "typ": "JWT"
}

الادعاءات

الأوقات معروضة بحسب ساعتك المحلية، لا بثوانٍ منذ epoch.

الادعاءالقيمة
subالموضوع: من يخصّه التوكن4821
nameريم الحلبي
roleeditor
scopeالصلاحيات الممنوحةorders:read orders:write
issالمُصدِر: من أنشأ التوكنhttps://api.frugaldomain.site
audالجمهور: لمن صُدر التوكنfrugal-dashboard
iatصدر في175000000015‏/6‏/2025، 6:06:40 م · السنة الماضية
expينتهي في175000360015‏/6‏/2025، 7:06:40 م · السنة الماضية

فكّ الترميز ليس تحقّقاً

أي أحد يستطيع قراءة JWT، فالحمولة مرمّزة بـ base64 لا مشفّرة. ما يثبت أنه صادر عن خادمك هو التوقيع، والتحقق منه يحتاج المفتاح. الأداة التي تفكّ الترميز فقط تخبرك بما يدّعيه التوكن، لا بصحّة ادعائه.

لماذا يُنبَّه على alg "none"

التوكن الذي تقول ترويسته alg: none لا يحمل أي توقيع. والمكتبات التي تحترم هذه الترويسة تقبل توكناً كان بوسع أي أحد كتابته، وهو أقدم هجوم على JWT وما زال يُصادَف فعلاً. لذلك تعدّه هذه الصفحة خطأً بدل أن تفكّ ترميزه بصمت.

لا تلصق مفتاحاً خاصاً أبداً

التحقق من RSA يحتاج النصف العام فقط، وهو منشور أصلاً. لا جهة مشروعة تطلب منك لصق مفتاح خاص أو سرّ HMAC في صفحة ويب لا تتحكّم بها، ومنها هذه الصفحة، ولهذا يجري الفحص كله محلياً وتقول الصفحة ذلك صراحة.

الأسئلة الشائعة

هل من الآمن لصق رمز JWT في موقع على الإنترنت؟
غالباً لا. الرمز بطاقة حامل يستطيع من يملكها انتحال صاحبها حتى انتهاء صلاحيتها. استخدم أداة تعمل داخل المتصفح مثل هذه، أو افكّ الترميز محلياً بمكتبة في مشروعك.
كيف أتحقّق من توقيع JWT بلا خادم؟
عبر WebCrypto المدمج في المتصفح. ألصق السرّ المشترك لرموز HS256، أو المفتاح العام بصيغة PEM لرموز RS256، ويجري الفحص محلياً. لا تلصق مفتاحاً خاصاً أو سرّ إنتاج في أي صفحة لا تملكها.
ماذا تعني alg: none؟
تعني أن الرمز بلا توقيع. المكتبة التي تقبل هذه الترويسة تقبل رمزاً كتبه أي شخص. ارفضها على مستوى المكتبة وثبّت قائمة الخوارزميات المقبولة عندك.
لماذا لا تدعم الأداة رموز ES256؟
رموز المنحنيات الإهليلجية تحتاج زوج التوقيع الخام ومساراً مختلفاً لاستيراد المفتاح، وتنفيذ نصف صحيح أسوأ من لا شيء. الصفحة تقول ذلك صراحة بدل أن تدّعي.