→ جميع الأدوات Dev Tools

فك تشفير JWT

فك تشفير وفحص JSON Web Tokens على الفور — الرأس والحمولة والمطالبات والتوقيع.

100% في المتصفح

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

فهم بنية JWT

رمز JSON Web Token أو JWT هو تنسيق رمز مضغوط وآمن لعناوين URL، معرّف بموجب RFC 7519. يتكون كل JWT من ثلاثة أجزاء مشفرة بـ Base64URL مفصولة بنقاط: الرأس والحمولة والتوقيع. يُعلن الرأس الخوارزمية المستخدمة لتوقيع الرمز (مثل HS256 و RS256 و ES256) ونوع الرمز. تحتوي الحمولة على المطالبات — تصريحات حول الموضوع أو الرمز نفسه.

تشمل المطالبات المسجلة القياسية: `iss` (المُصدر)، و`sub` (الموضوع)، و`aud` (الجمهور)، و`exp` (وقت الانتهاء كطابع زمني يونيكس)، و`nbf` (ليس قبل)، و`iat` (صادر في)، و`jti` (معرّف JWT). المطالبات الخاصة هي أي أزواج قيمة-مفتاح إضافية تحتاجها تطبيقاتك، مثل أدوار المستخدمين أو معرّفات المستأجر. يعرض أداة فك التشفير جميع المطالبات في عرض JSON مقروء جنباً إلى جنب مع وحدات البايت الخام المفكوكة بـ Base64URL.

التوقيع هو الجزء الثالث. يحسبه الخادم المُصدر باستخدام الخوارزمية المُعلنة في الرأس ومفتاح سري أو خاص. يضمن التوقيع عدم التلاعب بالرمز أثناء النقل. تعرض هذه الأداة وحدات بايت التوقيع الخام لكنها لا تتحقق من التوقيع — التحقق يتطلب السر من جهة الخادم أو المفتاح العام.

قراءة المطالبات وتاريخ الانتهاء

مطالبة `exp` هي قيمة تاريخ رقمية تمثل الثواني منذ حقبة يونيكس (1970-01-01T00:00:00Z). تحول هذه الأداة القيمة إلى طابع زمني UTC مقروء لترى على الفور متى ينتهي الرمز دون حساب يدوي. وبالمثل، يتم عرض `iat` و`nbf` كتواريخ مقروءة.

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

يضمّن كثير من موفري الهوية مطالبات غير قياسية: يتضمن Azure AD مطالبات `oid` و`tid` و`roles`؛ يستخدم Auth0 مطالبات بفضاء أسماء `https://`؛ يضيف Cognito مطالبة `cognito:groups`. يعرض عرض الحمولة كل مطالبة موجودة في الرمز، مانحاً إياك رؤية كاملة لما يؤكده الموفر دون الحاجة إلى كتابة كود فك تشفير.

اعتبارات الأمان

فك تشفير JWT لا يعني التحقق منه. يُظهر لك الرمز المفكوك المطالبات، لكنه لا يثبت أن الرمز أصيل أو لا يزال صالحاً. يجب على التحقق من جهة الخادم: التحقق من التوقيع مقابل السر أو المفتاح العام، والتأكد من أن `exp` لم ينتهِ، وتأكيد تطابق `iss` و`aud` مع القيم المتوقعة، والتحقق الاختياري من `nbf`. لا تثق أبداً بمطالبات من رمز غير متحقق منه.

يمكن أن تكون الرموز موقعة (JWS) أو موقعة ومشفرة في آن معاً (JWE). تتعامل هذه الأداة مع رموز JWS — الشكل الأكثر شيوعاً المستخدم في تدفقات OAuth 2.0 و OpenID Connect. إذا لصقت رمز JWE (الذي يحتوي على خمسة أجزاء مفصولة بنقاط)، ستكون الحمولة نصاً مشفراً غير مقروء بدون مفتاح فك التشفير.

تجنب لصق رموز الإنتاج التي تحتوي على بيانات مستخدم حساسة في الأدوات عبر الإنترنت. تعمل هذه الأداة بالكامل في متصفحك ولا ترسل أي بيانات إلى أي خادم، مما يجعلها آمنة للتطوير المحلي وتصحيح الأخطاء. بالنسبة لبيانات الاعتماد في الإنتاج، يُفضل استخدام أدوات سطر الأوامر مثل `jwt-cli` أو كود الفحص على مستوى المكتبة في بيئتك الخاصة.

FAQ

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

لا. يتطلب التحقق من التوقيع المفتاح السري (لخوارزميات HMAC) أو المفتاح العام (لـ RSA/ECDSA). تفك هذه الأداة تشفير المطالبات في الرأس والحمولة وتعرضها — لا تتحقق من الأصالة. قم دائماً بإجراء التحقق من التوقيع من جهة الخادم قبل الوثوق بأي مطالبات.

هل يتم إرسال رمزي إلى خادم؟

لا. تتم جميع العمليات بالكامل في متصفحك. يتم فك تشفير الرمز باستخدام Web Crypto API وـ JavaScript القياسي atob() — لا يتم إجراء أي طلب شبكة أبداً.

ماذا يعني "JWT غير صالح"؟

يجب أن يحتوي JWT الصالح على ثلاثة أجزاء Base64URL مفصولة بنقاط بالضبط. إذا كان الرمز مشوهاً أو مقطوعاً أو كان في الواقع JWE (خمسة أجزاء)، فستبلغ الأداة عنه بأنه غير صالح. تحقق من أنك نسخت الرمز الكامل بدون مسافات إضافية.

ما الخوارزميات التي يدعمها أداة فك التشفير؟

يمكن لأداة فك التشفير عرض الخوارزمية المُعلنة في الرأس (HS256 و HS384 و HS512 و RS256 و RS384 و RS512 و ES256 و ES384 و ES512 و PS256 و none وغيرها) وفك تشفير الحمولة بغض النظر عن الخوارزمية. لا يجري أي تحقق تشفيري، لذا تؤثر الخوارزمية فقط على ما تراه في حقل الرأس.

كيف أقرأ مطالبة exp بشكل صحيح؟

قيمة `exp` هي طابع زمني يونيكس — عدد الثواني منذ 1 يناير 1970 بالتوقيت العالمي المنسق. تحول الأداة القيمة تلقائياً إلى تاريخ ووقت مقروءين وتشير إلى ما إذا كان الرمز قد انتهت صلاحيته حالياً.

أدوات ذات صلة