فك ترميز JWT — قراءة Header و Payload محليًا (بدون تحقق)
الصق JWT لقراءة Header و Payload بصيغة JSON في متصفحك — دون التحقق من التوقيع. الخطوات: الصق الرمز، فك الترميز، انسخ Header أو Payload. مثال: الرمز النموذجي يظهر alg HS256 و iat 1516239022 مع UTC والوقت المحلي. الرمز لا يُرفع.
كيف يعمل
الصق JWT كاملًا (header.payload.signature). الصفحة تقسم بالنقاط، تفك Base64url للمقطعين الأولين وتنسّق JSON. exp و iat و nbf الرقمية تعرض UTC والوقت المحلي. التوقيع يُعرض كنص خام فقط — بلا تحقق.
قواعد يجب أن تعرفها
ما يفعله هذا المفكك وما لا يفعله: البنية، Base64url، claims المسجّلة، وحد عدم التحقق.
- البنية: JWT موقّع (JWS مضغوط) له ثلاثة مقاطع Base64url — header (alg, typ)، payload (claims)، signature (بايتات، ليس JSON).
- Base64url: -→+، _→/، إكمال padding حتى الطول %4، ثم atob و JSON.parse. الأخطاء تحدّد header أو payload.
- Claims مسجّلة: exp و iat و nbf ثوانٍ Unix UTC. قراءة JSON لا تعني أن الرمز موثوق.
- الخصوصية: اللصق محلي؛ بلا HMAC/RSA. لا تفوّض في الإنتاج بالاعتماد على JSON المفكوك فقط.
مثال
إدخال: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9eIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c → Header: {"alg":"HS256","typ":"JWT"}. Payload: {"sub":"1234567890","name":"John Doe","iat":1516239022} مع iat بـ UTC والوقت المحلي. التوقيع يُعرض خامًا دون تحقق.
متى يناسب
- تصحيح OAuth: راجع sub و scope و exp في access token قبل ضبط البوابة.
- عقود API: تحقق من iss و aud في ID token مقابل الوثائق.
- تعلّم: شاهد كيف يرتبط header و payload و signature في ثلاثة مقاطع JWS.
Frequently asked questions
هل تتحقق الصفحة من توقيع JWT؟
لا. الفك يعكس Base64url في Header و Payload فقط؛ التحقق من التوقيع يحتاج مفتاح المُصدر ولا ننفّذه هنا.
لماذا يفشل الرمز بخطأ المقاطع؟
تأكد من لصق الرمز كاملًا بنقطتين وثلاثة مقاطع. نقاط زائدة أو لصق مقطوع أو نص ليس JWT سيفشل.
ما الفرق بين Base64url و Base64 العادي؟
JWT يستخدم Base64url: - بدل + و _ بدل /، وغالبًا بدون =. أدوات Base64 العادية قد تفشل مع رموز URL-safe.
كيف أقرأ exp أو iat أو nbf؟
exp و iat و nbf هي ثوانٍ Unix UTC. هذه الصفحة تعرض UTC ووقتك المحلي؛ قارن exp بالوقت الحالي للانتهاء.
هل يُرفع الرمز إلى خادم؟
لا. التقسيم وفك Base64url و JSON يتم بالكامل في تبويب المتصفح.
استفسارات أو ملاحظات
هل هناك غموض أو خلل أو نقص؟ اكتب رسالة أدناه — نقرأ كل ملاحظة عن هذه الأدوات.