فك رموز JWT
فك رموز JSON Web Token فورًا بهذه الأداة المجانية التي تعمل في المتصفح. اعرض الرأس والحمولة والتوقيع ومطالبات الرمز بأمان داخل متصفحك.
واجهة الأداة نفسها باللغة الإنجليزية حاليًا، وتعمل بالكامل داخل متصفحك.
جارٍ تحميل الأداة…
ما هو JWT؟
رمز JSON Web Token بيانات اعتماد مدمجة وآمنة للروابط، معرّفة في RFC 7519. وله ثلاثة أجزاء تفصلها نقاط: رأس يذكر الخوارزمية التي وقّعته، وحمولة من المطالبات مثل الموضوع والمُصدِر والجمهور وتاريخ الانتهاء، وتوقيع. والجزءان الأولان JSON مرمّز بـ Base64URL، أي مرمّز لا مشفّر. وكل من يحمل الرمز يستطيع قراءة كل ما فيه.
وهذه النقطة الأخيرة هي التي توقع الناس. فالتوقيع لا يخفي المحتوى؛ بل يثبت أن الرمز لم يُعدّل وأن من أصدره يملك مفتاح التوقيع. لذا فك JWT لا يتطلب أي سر، أما التحقق منه فيتطلب المفتاح. لا تضع في حمولة JWT شيئًا لا ترتاح لإظهاره لحامله، لأنه يستطيع قراءته في ثانية.
لماذا أنشأنا هذه الأداة
تتبع أخطاء المصادقة يعني قراءة الرموز: هل مضى وقت exp، وهل تحتوي مطالبة الأدوار ما تتوقعه البوابة، وهل يطابق الجمهور، ولماذا تقبل خدمة رمزًا ترفضه أخرى.
وتلك رموز جلسات حية. ولصق أحدها في موقع يعني إرسال بيانات اعتماد عاملة لطرف ثالث؛ فإن لم تنتهِ صلاحيته، يستطيع من يستلمه استخدامه. وهذه أقوى حجة لأداة تعمل في المتصفح، ولهذا تفك أداتنا الرمز داخل متصفحك فقط: التقسيم وفك Base64URL وتحليل JSON كلها تجري في تبويبك، دون أي طلب عبر الشبكة. لا يُرسل الرمز إلى أي مكان أبدًا. ومع ذلك، اعتبر أي رمز لصقته في أي مكان جديرًا بالتجديد.
نصائح وأخطاء شائعة
- الفك لا يثبت شيئًا عن الصلاحية؛ فمفتاح التوقيع وحده يستطيع التحقق من الرمز.
- الأوقات في
expوiatوnbfبثواني Unix لا بالمللي ثانية؛ وخطأ بمعامل ألف يجعل الرمز يبدو صالحًا حتى العام 56000. - فرق الساعة بين الخوادم سبب متكرر لرفض رمز بأنه منتهٍ أو لم يصبح صالحًا بعد.
- جدّد أي رمز لصقته في أي مكان، ولا تشارك رمزًا حيًا أبدًا في تذكرة أو محادثة.
بداية سريعة: استخدام فك رموز JWT
- الصق الرمز في مربع الإدخال أعلاه، النص كاملًا مع النقطتين.
- اقرأ الرأس المفكوك لترى خوارزمية التوقيع.
- اقرأ مطالبات الحمولة، بدءًا بـ
expوiatوissوaud. - قارنها بما تتوقعه الخدمة التي ترفض الرمز.
- تذكّر أن الفك ليس تحققًا؛ فمفتاح التوقيع وحده يثبت أن الرمز أصلي.
لأعمال الترميز الخام، راجع ترميز Base64 وفكه، وأداة محول الطوابع الزمنية تحوّل مطالبة exp الرقمية إلى تاريخ مقروء.
الأجزاء الثلاثة لرمز JWT
لرمز JWT ثلاثة أقسام مرمّزة بـ Base64URL تربطها نقاط:
- الرأس: نوع الرمز وخوارزمية التوقيع المستخدمة.
- الحمولة: المطالبات، من معرّف المستخدم والأدوار ووقت الإصدار والانتهاء وأي بيانات مخصصة.
- التوقيع: فحص تشفيري يثبت أن الرمز لم يُعبث به.
النقاط تفصلها. والفك يقرأ الرأس والحمولة؛ أما التوقيع فيُتحقق منه بمفتاح سري، لا يُقرأ.
الحقيقة الأمنية: مرمّز لا مشفّر
هذا يوقع المبتدئين باستمرار. حمولة JWT ليست سرًا. Base64 ترميز لا تشفير، وكل من يملك الرمز يستطيع فكه وقراءة كل مطالبة فيه. والعواقب:
- لا تضع أبدًا بيانات حساسة في حمولة JWT. لا كلمات مرور، ولا أسرار، ولا بيانات شخصية خاصة. افترض أن العميل يستطيع قراءتها، لأنه يستطيع فعلًا.
- التوقيع يوفر السلامة لا السرية. يثبت أن الرمز لم يُعدّل، لكنه لا يخفي المحتوى.
- الثقة تأتي من التحقق من التوقيع في الخادم بالمفتاح السري، لا من كون الحمولة تبدو صالحة.
قراءة المطالبات المهمة
exp: الانتهاء، كطابع زمني Unix. حوّله بأداة محول الطوابع الزمنية لترى التاريخ الحقيقي وتتحقق هل الرمز قديم.iat: وقت إصداره.sub: الموضوع، وهو عادةً معرّف المستخدم.- المطالبات المخصصة: الأدوار والصلاحيات والمستأجر وغيرها.
استخدامات شائعة
- تتبع خطأ في مسار المصادقة بفحص ما يحتويه الرمز فعلًا.
- معرفة سبب رفض رمز، وكثيرًا ما يكون قد انتهى ببساطة.
- التأكد من المطالبات التي يصدرها خادمك.