فك ترميز JWT (المحتوى وتاريخ الانتهاء والتوقيع)

الصق JWT فقط لقراءة الترويسة والحمولة، ورؤية تاريخ الانتهاء بالتاريخ والوقت. وإذا أدخلت المفتاح تحقّق من التوقيع أيضًا.

JWT

0 حرفًا · 0 سطرًا

تتم المعالجة كلها على هذا الجهاز، ولا يُرسَل ما تكتبه إلى أي مكان.

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

المحتوى المقروء

تظهر النتيجة هنا

هل كانت مفيدة؟ يسعدنا أن تشاركها

هل هناك ما لا يعمل، أو لديك فكرة لتحسينه؟

طريقة الاستخدام

  1. 1. الصق JWT

    اضغط «لصق» فوق المربع العلوي لإدخال JWT الذي نسخته. لا بأس إن كان معه «Bearer» أو علامات اقتباس في أوله وآخره. وإن أردت التجربة فقط، فاضغط «مثال».

  2. 2. اطّلع على المحتوى

    تظهر في «المحتوى المقروء» بالأسفل شارة مثل «صالح» أو «منتهي الصلاحية»، وتحتها تاريخ الانتهاء وتاريخ الإصدار بتوقيت هذا الجهاز مع عبارات مثل «بعد ◯ سنوات» و«قبل ◯ ساعات». وتحتها يظهر JSON الترويسة والحمولة، فاضغط «نسخ الحمولة» لنسخ JSON منسَّقًا.

  3. 3. تحقّق من التوقيع

    في خانة «التحقق من التوقيع» في أسفل الصفحة، أدخل المفتاح السري إن كان التوقيع HS256 ونحوه، أو المفتاح العام إن كان RS256 أو ES256 ونحوهما. فور إدخاله تظهر «التوقيع صحيح» أو «التوقيع غير مطابق». مفتاح الرمز المثال هو papatto-sample-secret.

متى تفيدك هذه الأداة

  • تريد معرفة سبب انقطاع تسجيل الدخول فجأة

    الصق الرمز لترى تاريخ الانتهاء (exp) وتاريخ الإصدار (iat) بتوقيت هذا الجهاز مع عبارة مثل «قبل ◯ دقائق». إن انتهت صلاحيته تعرف ذلك فورًا من الشارة، فيسهل اكتشاف فرق الساعة أو قِصَر مدة الصلاحية.

    مهندسو الويب وفرق الدعم

  • تريد معرفة ما في داخل الرمز

    اقرأ المستخدم (sub) والجهة المُصدِرة (iss) والجهة المستقبِلة (aud) والمطالبات المخصّصة مثل الصلاحيات، في JSON منسَّق. ويمكنك لصق النص المنسوخ من أدوات المطوّر ومعه «Bearer» كما هو.

    من يبني واجهات API أو يختبرها

  • تريد التأكد من صحة مفتاح التوقيع

    أدخل المفتاح السري لـ HS256 أو المفتاح العام لـ RS256 أو ES256 (PEM أو JWK)، فتعرف فورًا هل أُنشئ التوقيع بهذا المفتاح. يفيدك ذلك في تحديد السبب حين تفشل المصادقة بسبب اختلاف إعدادات المفاتيح.

    مطوّرو أنظمة المصادقة

  • لا تريد إخراج رمز حقيقي إلى أي مكان

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

    من يهتم بالأمان

ما يجب معرفته قبل الاستخدام

  • محتوى JWT ليس مشفَّرًا، ويستطيع أي شخص قراءته. لا تضع فيه كلمات المرور أو أي شيء لا تريد أن يراه الآخرون.
  • لا يمكن قراءة محتوى JWT المشفَّر (JWE)، بل الترويسة فقط.
  • لا توجد ميزة لجلب المفتاح العام تلقائيًا (من رابط JWKS). الصق المفتاح بنفسك (لأن هذه الصفحة لا تتصل بأي جهة خارجية).

عن JWT

JWT (JSON Web Token) نص يمثّل معلومات المستخدم الذي سجّل دخوله وصلاحياته في ثلاثة أجزاء: «الترويسة.الحمولة.التوقيع». الترويسة والحمولة ليستا إلا JSON محوَّلًا إلى الشكل الآمن لـ URL من {tool:base64}، لذا يستطيع أي شخص إعادتهما إلى أصلهما وقراءتهما. أمّا ما يمنع التلاعب فهو التوقيع في النهاية.

تعرض هذه الأداة قيم exp (تاريخ الانتهاء) و nbf (صالح اعتبارًا من) و iat (تاريخ الإصدار) في الحمولة بتاريخ ووقت المنطقة الزمنية لهذا الجهاز مع عبارات مثل «بعد ◯ ساعات»، وتنبّهك بشارة إن انتهت الصلاحية. ويمكنك أيضًا تحويل الأوقات المكتوبة أرقامًا فقط عبر {tool:unix-time}. وإذا أدخلت المفتاح، فإنها تتحقق كذلك من صحة توقيعات HS256 و RS256 و PS256 و ES256 و EdDSA وغيرها داخل المتصفح فقط.

أجزاء JWT الثلاثة
المحتوىهل يمكن قراءته؟
الترويسةخوارزمية التوقيع (alg)، والنوع (typ)، ومعرّف المفتاح (kid)يقرؤه أي شخص
الحمولةالمستخدم (sub)، وتاريخ الانتهاء (exp)، ومطالبات مثل الصلاحياتيقرؤه أي شخص
التوقيعقيمة تُنشأ بالمفتاح من الترويسة والحمولةلا يمكن التحقق منه دون المفتاح

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

جمعنا هنا ما قد يشغل بالك قبل الاستخدام.

هل يُرسَل JWT الذي ألصقه إلى أي مكان؟

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

كيف أقرأ تاريخ الانتهاء (exp)؟

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

هل يمكن التحقق من التوقيع؟

نعم. أدخل المفتاح السري (نصًا أو Base64) لـ HS256 و HS384 و HS512، أو المفتاح العام لـ RS256 و PS256 و ES256 و EdDSA وغيرها، فتظهر فورًا «التوقيع صحيح» أو «التوقيع غير مطابق».

ما صيغ المفاتيح العامة المدعومة؟

يقرأ PEM الذي يبدأ بـ «-----BEGIN PUBLIC KEY-----»، و«-----BEGIN RSA PUBLIC KEY-----»، والشهادات (-----BEGIN CERTIFICATE-----)، و JWK، و JWK Set ({"keys": […]}). ومع JWK Set يُختار المفتاح الذي يطابق kid في الترويسة.

هل يُقرأ وهو مسبوق بـ «Bearer»؟

نعم. يُزال تلقائيًا «Authorization: Bearer» من بداية السطر، وكذلك المسافات والأسطر الجديدة وعلامات الاقتباس في أوله وآخره، ثم يُقرأ.

ظهرت رسالة «JWT بلا توقيع (alg: none)»

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

ظهرت رسالة «JWT مشفَّر (JWE)»

رمز JWT المقسوم بـ «.» إلى 5 أجزاء هو JWE، أي أن محتواه مشفَّر. لا يمكن قراءته دون المفتاح الخاص للجهة المستقبِلة، لذا تعرض هذه الأداة الترويسة فقط (ومنها خوارزمية التشفير).

تظهر رسالة «لا يمكن قراءته على أنه JWT»

إمّا أن جزءًا منه فُقد عند النسخ، وإمّا أن فيه حرفًا لا يُستخدم في JWT. تبيّن الأداة الجزء الذي تعذّرت قراءته، وتعلّم مكانه باللون البرتقالي في مربع الإدخال، فتحقّق منه.

هل محتوى JWT مشفَّر؟

لا. الترويسة والحمولة مجرد أحرف مستبدَلة وفق جدول ثابت (base64url)، لذا يستطيع أي شخص قراءتهما. لا تضع فيه كلمات المرور أو البيانات الشخصية.

هل هو مجاني؟

نعم، مجاني. دون تسجيل وبلا إعلانات.