مقدمة
يساعدك مفكك JWT هذا على فحص JSON Web Tokens مباشرة داخل المتصفح. الصق JWT أو Bearer token لعرض الترويسة والحمولة، ومراجعة claims مثل `iss` و`sub` و`aud` و`scope` و`iat` و`nbf` و`exp`، ومعرفة ما إذا كان التوكن يبدو منتهي الصلاحية أو غير صالح بعد. تتم كل المعالجة محليًا لملاءمة أفضل لعمليات التصحيح.
طريقة الاستخدام
الصق JWT كاملًا أو Bearer token داخل حقل الإدخال. تقوم الأداة بإزالة بادئة Bearer عند وجودها، وتقسيم التوكن إلى أجزائه، وفك ترويسة Base64URL والحمولة وعرضهما بصيغة JSON مقروءة. بعد ذلك راجع ملخص claims ولوحة الوقت، ثم انسخ أو نزّل النتيجة إذا كنت بحاجة إلى مشاركتها أو مقارنتها بين البيئات. هذه الأداة لا تتحقق من التوقيع، لذا فهي مخصصة للفحص لا لاتخاذ قرارات الثقة.
الميزات
- •فك ترويسة JWT والحمولة محليًا داخل المتصفح
- •دعم سلاسل JWT المباشرة وBearer tokens
- •إخراج JSON واضح للترويسة والحمولة
- •فحص claims الزمنية مثل `iat` و`nbf` و`exp`
- •ملخص سريع للخوارزمية والجهة المصدرة والموضوع والجمهور وscope وkey ID
- •نسخ أو تنزيل JSON المفكوك لاستخدامه في التصحيح
- •تنبيهات عندما يبدو التوكن منتهي الصلاحية أو غير صالح بعد
- •بدون رفع إلى الخادم وبدون التحقق من التوقيع
ماذا يعرض مفكك JWT
يتكوّن JWT عادة من ثلاثة أجزاء مفصولة بنقاط: الترويسة والحمولة والتوقيع. تصف الترويسة بيانات وصفية مثل الخوارزمية ومعرّف المفتاح. أما الحمولة فتحتوي على claims تستخدمها التطبيقات وواجهات API، مثل الجهة المالكة للتوكن والجمهور المقصود والوقت الذي يجب فيه قبول التوكن أو رفضه.
الفك لا يعني التحقق
فك JWT يعني فقط قراءة JSON المشفّر بصيغة Base64URL داخل التوكن. هذا لا يثبت أن التوكن أصلي أو غير معدّل أو موثوق. التحقق من التوقيع يتطلب المفتاح الصحيح ويجب أن يتم داخل تطبيقك أو البوابة أو طبقة الهوية.
كيفية قراءة exp وnbf وiat
يشير iat عادة إلى وقت إصدار التوكن، ويحدد nbf أبكر وقت يجب قبول التوكن فيه، بينما يحدد exp وقت انتهاء صلاحيته. غالبًا ما تكون هذه القيم طوابع زمنية Unix بالثواني. أثناء التصحيح، قارنها دائمًا بساعة الجهاز أو الخادم الذي يطبق التفويض فعليًا.
حالات شائعة لتصحيح JWT
يكون المفكك مفيدًا عندما يتوقف Bearer token عن العمل في بيئة الاختبار، أو عندما تعيد API استجابة 401 Unauthorized، أو عندما لا تتطابق قيمة audience بين الخدمات، أو عندما يبدو أن تطبيق الهاتف يستخدم توكنًا قديمًا بعد التحديث. كما يساعدك على معرفة ما إذا كان التوكن نفسه معطوب البنية قبل الانتقال إلى مفاتيح التوقيع أو التخزين المؤقت للجلسة.
مرجع أجزاء JWT
لكل جزء فائدة مختلفة أثناء التصحيح.
| الجزء | يحتوي عادة على | ملاحظة عملية |
|---|---|---|
| Header | الخوارزمية والنوع ومعرّف المفتاح | مفيد لتأكيد تنسيق التوكن وإعداد التوقيع |
| Payload | Claims مثل iss وsub وaud وexp | مفيد لفهم سياق التفويض والشروط الزمنية |
| Signature | بيانات التوقيع المشفرة | وجودها لا يعني الثقة ما لم يتم التحقق منها |
Claims JWT الشائعة
هذه الحقول من أكثر ما يراجعه المطورون عندما يُرفض التوكن.
| Claim | المعنى | ملاحظة تصحيح |
|---|---|---|
| iss | الجهة المصدرة | تحقق من أن التوكن جاء من مزود الهوية المتوقع |
| sub | الموضوع | غالبًا ما يحدد المستخدم أو الحساب أو الخدمة |
| aud | الجمهور | يجب كثيرًا أن يطابق الـ API أو المورد المستقبِل |
| nbf | غير صالح قبل | القيمة المستقبلية قد تسبب رفضًا فوريًا |
| exp | وقت الانتهاء | سبب شائع جدًا لردود 401 |
الأسئلة الشائعة
هل يتحقق مفكك JWT هذا من التوقيع؟
لا. هو يفك فقط أجزاء JSON المقروءة من التوكن. يجب إجراء التحقق من التوقيع بشكل منفصل باستخدام المفتاح الصحيح.
هل يتم رفع التوكنات إلى خادم؟
لا. تعمل الأداة محليًا داخل متصفحك ولا ترسل محتوى التوكن إلى أي خادم.
لماذا يفك التوكن بنجاح لكن الـ API ما زالت ترفضه؟
لأن التوكن قد يُفك بشكل صحيح ومع ذلك يفشل بسبب التوقيع أو audience أو issuer أو انتهاء الصلاحية أو not-before أو فرق الوقت أو نقص الصلاحيات.
هل يمكنني لصق Bearer token من ترويسات الطلب؟
نعم. إذا بدأ النص بـ `Bearer ` فستزيل الأداة هذه البادئة تلقائيًا قبل فك التوكن.
ماذا لو كان التوكن يتكوّن من جزأين فقط؟
بعض التوكنات غير الموقعة أو غير القياسية لا تحتوي على جزء توقيع. يمكنك فحص الترويسة والحمولة، لكن لا ينبغي اعتبار هذا التوكن JWT موقّعًا.