ForHosting KIT · قراءة المواقع ومراقبتها

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

الصق الرمز واقرأ ما يقوله: في المثال تذكر الترويسة الخوارزمية HS256 ويحمل المحتوى الاسم John Doe مع admin بقيمة true. لا يُفحص التوقيع، لذلك فما تراه ادعاء وليس دليلًا. مجانية في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

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

افهموا ما يثبته فك الترميز وما لا يثبته

ولا تستخدم المقطع الثالث للمصادقة على أي شيء. هذا الفرق مهم لأن أي شخص يستطيع إنشاء سلسلة تشبه الرمز وتحمل مطالبات اعتباطية. استخدموا فك الترميز عندما تحتاجون إلى رؤية بنية الرمز، أو تشخيص أسماء المطالبات وقيمها، أو الحصول على تمثيل مقروء أثناء التطوير.

وعندما يعتمد قرار أمني على الرمز، استخدموا مكتبة مناسبة للتحقق من JWT مع مفتاح موثوق محدد صراحةً، وخوارزمية مسموح بها، وجهة مصدرة وجمهور محددين.

أرسلوا JWT مدمجًا واقرؤوا الاستجابة

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

وتبقى مطالبات NumericDate مثل exp وnbf وiat أرقامًا بدل تحويلها إلى تواريخ، فلا تفترض الأداة طريقة عرضها أو مقارنتها.

استخدموا المطالبات المفكوكة بأمان أثناء التطوير

يفيد فك الترميز خصوصًا عند الحدود بين الأنظمة. ويستطيع فريق الدعم فحص رمز اختبار منقح لمعرفة ما إذا كان الجمهور أو النطاق مفقودًا. اجعلوا الحد الأمني واضحًا في كل سير عمل: البيانات المفكوكة مدخلات غير موثوقة.

لا تمنحوا وصولًا، ولا تختاروا tenant، ولا تقبلوا هوية، ولا تكشفوا بيانات خاصة لمجرد أن مطالبة مفكوكة تطلب ذلك. تجنبوا لصق bearer tokens حقيقية في السجلات أو التذاكر أو المحادثات أو المستندات المشتركة، فقد يكون JWT اعتمادًا ساريًا حتى إن بدت حمولته غير مؤذية. فضّلوا أمثلة مصطنعة أو منتهية أو مولدة محليًا عند التشخيص.

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

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

عاملوا كل حقل بوصفه غير موثوق حتى يتحقق مدقق مستقل من التوقيع والمطالبات المطلوبة.

ما التكلفة؟

ويمكن لنسخة المتصفح تشغيل منطق فك الترميز الحتمي نفسه محليًا.

لماذا يجب أن يتضمن الرمز ثلاثة مقاطع؟

ترفض هذه الإمكانية أي سلسلة لا تطابق هذه البنية بالضبط.

هل يمكن فك JWT غير موقّع؟

تظل الصيغة المدمجة بحاجة إلى ثلاثة مقاطع، ويمكن أن يكون الثالث فارغًا في الرمز غير المحمي.

هل المعلومات داخل رمز JWT مشفّرة؟

لا. الجزآن الأولان مرمّزان فقط لينتقلا بشكل مضغوط، وليسا مشفّرين ولا مخفيين، لذلك يستطيع أي شخص يملك الرمز قراءتهما. وإذا كفاك رمز تجريبي فتجنّب لصق رمز حقيقي.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/web/jwt-decode

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/web/jwt-decode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.c2lnbmF0dXJl"}'
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.c2lnbmF0dXJl"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.jwt_decode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

timeout_sec30
max_crawl_pages25
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

تفصل أداة فك ترميز JWT هذه JSON Web Token إلى مقاطعه المدمجة الثلاثة، ثم تقرأ JSON المرمّز بصيغة base64url في الترويسة والحمولة.

افهموا ما يثبته فك الترميز وما لا يثبته

يتكون JWT عادةً من ترويسة وحمولة وتوقيع تفصل بينها نقاط. المقطعان الأولان هما JSON مرمّز بصيغة base64url، أي إن المحتوى مهيأ للنقل المدمج لكنه ليس مشفرًا ولا مخفيًا. تفصل هذه الإمكانية الرمز المرسل، وتفك المقطعين الأولين باعتبارهما UTF-8، وتحلل JSON، ثم تعيد كائني الترويسة والحمولة. فظهور موضوع أو دور أو جهة مصدرة أو جمهور أو وقت انتهاء في الحمولة المفكوكة لا يثبت أن نظامًا موثوقًا أصدر الرمز.

أرسلوا JWT مدمجًا واقرؤوا الاستجابة

تحتوي الاستجابة على كائن header وكائن payload. ومن حقول الحمولة الشائعة sub للموضوع، وiss للجهة المصدرة، وaud للجمهور، وexp للانتهاء، إضافة إلى مطالبات خاصة بالتطبيق. لا تشترط الأداة مطالبة بعينها، بل تحافظ على قيم JSON الموجودة. إذا كان عدد المقاطع غير صحيح، أو كان base64url أو UTF-8 أو JSON غير صالح، أو لم يكن القسم المفكوك كائنًا، فسيعيد الطلب خطأ إدخال غير صالح بدلًا من نتيجة جزئية.

استخدموا المطالبات المفكوكة بأمان أثناء التطوير

يستطيع مطور API مقارنة المطالبات التي ينتجها موفر الهوية بالأسماء التي يتوقعها التطبيق.

تنقيح مطالبات موفر الهوية

افحصوا شكل الترويسة والحمولة لمقارنة أسماء المطالبات والجماهير والنطاقات والمعرّفات الصادرة بإعدادات التطبيق.

فحص رموز الاختبار المحلية

فكّوا رموز fixture في الاختبارات أو نصوص التطوير وتأكدوا من المطالبات المخصصة المتوقعة قبل التحقق من التوقيع بصورة مستقلة.

شرح بنية الرمز

حوّلوا JWT مدمجًا إلى كائنات JSON مقروءة للتوثيق التقني أو التدريب أو التشخيص باستخدام أمثلة مصطنعة ومنقحة بعناية.

هل تتحول طوابع الانتهاء إلى تواريخ؟

لا. تعاد قيم مثل exp وnbf وiat كما وردت في الحمولة تمامًا، لتفسروها وفق متطلباتكم.

اطّلع على توثيق KIT الكامل ←