انتقل إلى المحتوى

أداة التحقق من JWT

تحقق مما إذا كان رمز ويب JSON حقيقيًا ولا يزال ساريًا. الصق الرمز مع سر HMAC أو مفتاح عام PEM أو شهادة أو JWK أو مجموعة JWKS كاملة، وستتحقق الأداة من التوقيع باستخدام مكتبة jose، وتقارن exp وnbf بالوقت الحالي مع إمكانية ضبط هامش زمني اختياري، ثم تعرض حكمًا واضحًا بجوار الترويسة والمطالبات بعد فك ترميزهما. تُرفض الرموز التي تستخدم alg none.

إعادة تعيين

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

ما الذي تتحقق منه الأداة؟

تتحقق الأداة من التوقيع باستخدام المفتاح الذي تقدمه، ثم تقارن مطالبتَي exp وnbf بالوقت الحالي. لا يكون الحكم صالحًا إلا إذا تطابق التوقيع ولم يفشل أي من فحصَي الوقت. تظهر مطالبات مثل iss أو aud أو sub في الحمولة، لكن لا تُقارن بقيم متوقعة.

ما المفاتيح التي يمكنني لصقها؟

بالنسبة إلى HS256 وHS384 وHS512، الصق السر المشترك كنص أو كمفتاح oct JWK. أما رموز RSA وEC وEdDSA، فالصق مفتاحًا عامًا بصيغة PEM (SPKI أو PKCS #1)، أو شهادة X.509، أو مفتاح JWK عامًا أو خاصًا، أو JWKS يضم حتى 50 مفتاحًا، أو مفتاح PEM خاصًا، ولن يُستخدم منه إلا الجزء العام.

كيف يُختار المفتاح المناسب من JWKS؟

إذا تضمّن ترويس الرمز قيمة kid، فسيُستخدم المفتاح الذي يحمل قيمة kid المطابقة ضمن المجموعة، وستذكر رسالة الخطأ قيمة kid إذا لم يُعثر على مفتاح مطابق. وإذا لم توجد قيمة kid، فيجب أن تضم المجموعة مفتاحًا واحدًا بالضبط. وهذا يحاكي طريقة اختيار معظم الخوادم للمفاتيح من مستند jwks_uri.

ما وظيفة خيار الخوارزمية؟

عند اختيار Use the token's alg، تُحدَّد الخوارزمية من ترويسة الرمز، لكن يظل لزامًا أن يتوافق المفتاح معها، لذلك لا يمكن مطلقًا استخدام مفتاح RSA عام كسر HMAC. اختر خوارزمية محددة لإلزام الرمز باستخدامها أيضًا، وهي الطريقة التي ينبغي للخادم بها تثبيت الخوارزمية المتوقعة. عندها يُرفض الرمز الذي يستخدم قيمة alg أخرى، مع عرض الاسمين.

لماذا يُرفض الرمز الذي تكون فيه قيمة alg هي none؟

لا يتضمن الرمز الذي تكون فيه قيمة alg هي none أي توقيع، لذا لا يوجد ما يمكن التحقق منه ويمكن لأي شخص كتابته. ويُعد قبول هذه الرموز ثغرة معروفة في مكتبات JWT. لذا تعرض أداة التحقق خطأً بدلًا من نتيجة صالحة.

كيف تعمل exp وnbf وهامش تفاوت الساعة؟

يُعدّ الرمز منتهي الصلاحية عندما تكون قيمة exp مساوية للوقت الحالي أو أسبق منه، ويُعدّ غير صالح بعد عندما تكون قيمة nbf لاحقة للوقت الحالي. يوسّع هامش تفاوت الساعة، من 0 إلى 3600 ثانية، نطاق كلا التحققين للسماح باختلاف الساعات بين الخوادم. وتُبطل المطالبات الموجودة ذات القيم غير الرقمية الرمز.

ما معنى أن التوقيع غير صالح؟

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

ما الخوارزميات المدعومة؟

HS256 وHS384 وHS512 وRS256 وRS384 وRS512 وPS256 وPS384 وPS512 وES256 وES384 وES512 وEdDSA مع مفاتيح Ed25519. يجب ألا يقل طول مفاتيح RSA عن 2048 بت. ولا تُفكّ تشفير الرموز المشفرة (JWE).

هل يُخزَّن الرمز أو المفتاح؟

لا. يُستخدم الرمز والمفتاح في الذاكرة لهذا التحقق فقط، ولا يُسجّلان أو يُحفظان مطلقًا. مشاركة المفتاح العام آمنة، لكن تعامل بحذر مع أسرار HMAC وغيّر أي سر تشتبه في تسرّبه.

ما الحد الأقصى لحجم الرمز والمفتاح؟

يمكن أن يصل طول الرمز إلى 65,536 حرفًا، وطول حقل المفتاح إلى 262,144 حرفًا، ما يستوعب مستندات JWKS كبيرة. يجب أن يتكون الرمز من ثلاثة أجزاء بترميز base64url تفصل بينها نقاط، وأن يتضمن ترويسته بصيغة JSON عضو alg، وأن يكون محتواه كائنًا بصيغة JSON.

نبذة عن OneClick Pro

OneClick Pro مجموعة مجانية تضم أكثر من 150 أداة ويب للمهام اليومية: تحويل الصور والوحدات، وتنسيق الأكواد والتحقق من صحتها، وفحص النطاقات وSEO، والعمل مع النصوص والتواريخ والأرقام. تعمل كل أداة دون تسجيل أو اشتراك، ولا تُستخدم البيانات التي تُدخلها إلا لحساب النتيجة ولا تُخزّن مطلقًا. استخدمها كصندوق أدوات سريع للمهام المنفردة، أو أضف الأدوات التي تعتمد عليها يوميًا إلى إشاراتك المرجعية.