Skip to content

محلّل JWT — فك ترميز الرموز

فك ترميز رموز JWT أونلاين مع محلّل JWT المجاني. افحص الترويسة والحمولة والتوقيع وانتهاء الصلاحية والخوارزمية والمطالبات فوراً. 100% في المتصفح — رمزك لا يغادر جهازك. بلا تسجيل، بلا تتبّع.

بدون تتبّع يعمل في المتصفّح مجاني
رمز JWT
تمت المراجعة للتوافق مع RFC 7519 وضمانات الخصوصية — فريق أمان Go Tools · Apr 22, 2026

ما هو JWT؟

رمز ويب JSON، أو JWT (يُنطق 'جوت')، هو تنسيق رمز مدمج وآمن للروابط لحمل المطالبات بين طرفين. وهو معرّف في RFC 7519، ويُعدّ تنسيق بيانات الاعتماد المهيمن الذي تستخدمه رموز وصول OAuth 2.0، ورموز هوية OpenID Connect، ومفاتيح API في مزوّدي المصادقة الحديثين (Auth0، Okta، Clerk، Supabase، Firebase)، ورموز الاتصال بين الخدمات في معماريات الخدمات المصغّرة.

"رمز ويب JSON (JWT) هو تنسيق تمثيل مدمج للمطالبات مخصّص للبيئات المحدودة الحجم مثل ترويسات Authorization في HTTP ومعاملات استعلام URI." — RFC 7519، القسم 1

JWT هو ثلاثة كائنات JSON مرمّزة بـ Base64URL ومفصولة بنقاط: header.payload.signature. تصف الترويسة كيف وُقّع الرمز (مطالبة alg — مثل HS256 أو RS256 — ومطالبة typ، عادةً 'JWT'). تحمل الحمولة المطالبات: المطالبات المسجّلة مثل iss وsub وaud وexp وiat، إضافة إلى أي مطالبات مخصّصة يحتاجها المُصدِر (الدور، النطاق، البريد الإلكتروني، معرّف المستأجر). التوقيع إثبات معتمد على التعمية، يُحسب فوق الترويسة والحمولة بسرّ المُصدِر أو مفتاحه الخاص، يسمح للمستلم باكتشاف العبث.

والأهم، أن JWT مرمّز لا معمّى. يمكن لأي شخص يمتلك الرمز قراءة حمولته — فك الترميز مجرد Base64URL وتحليل JSON. يأتي ضمان الأمان من التوقيع: يستطيع المهاجم قراءة JWT، لكنه لا يستطيع إنتاج JWT مختلف يجتاز التحقّق من التوقيع دون مفتاح التوقيع. لهذا السبب رموز JWT آمنة للتمرير عبر الشبكة، لكنها غير آمنة لملئها بالأسرار.

يُظهر محلّل JWT لك بالضبط ما يحتويه الرمز — الخوارزمية، المطالبات، انتهاء الصلاحية — دون لمس التوقيع. إنه أسرع طريقة للإجابة على 'هل هذا الرمز منتهي الصلاحية؟'، و'ما الدور الذي يمتلكه هذا المستخدم؟'، و'أي مُصدِر سكّ هذا الرمز؟'، أو 'هل هذا رمز alg:none ينبغي أن أرفضه؟'. يجري كل فك ترميز في هذه الأداة محلياً في متصفحك، فلصق رمز إنتاج حي آمن.

غالباً ما يقترن عمل JWT بأدوات مطوّرين أخرى. قد تحتاج إلى فك ترميز مقطع ملفوف بـ Base64URL عند تصحيح رمز مشوّه، أو فك ترميز URL لترويسة Authorization بعد التقاطها من وكيل، أو تحويل مطالبة exp إلى تاريخ بشري يدوياً. للاطّلاع على جولة أعمق حول كيفية توقيع رموز JWT والتحقّق منها وتدويرها في الإنتاج، راجع دليل أساسيات Base64Base64URL هو الأساس الذي يُبنى عليه كل JWT.

// Decode a JWT in the browser — header & payload only
function decodeJwt(token) {
  const [h, p, s] = token.split('.');
  const pad = (seg) => seg + '==='.slice((seg.length + 3) % 4);
  const decode = (seg) => JSON.parse(
    atob(pad(seg).replace(/-/g, '+').replace(/_/g, '/'))
  );
  return { header: decode(h), payload: decode(p), signature: s };
}

const { header, payload } = decodeJwt(token);
console.log(header);   // → { alg: 'HS256', typ: 'JWT' }
console.log(payload);  // → { sub: 'user_123', exp: 1999999999, ... }

// Expiration check
const expired = payload.exp * 1000 < Date.now();

الميزات الرئيسية

فكّ ترميز JWT فوراً

الصق وشاهد JWT مفكوكاً في الوقت الفعلي — تُحلَّل الترويسة والحمولة والتوقيع فوراً. لا زر فك ترميز، ولا رحلة ذهاب وإياب إلى خادم.

اكتشاف انتهاء الصلاحية

يقرأ تلقائياً مطالبة exp ويُظهر شارة حمراء عندما يكون الرمز منتهي الصلاحية، مع تاريخ الانتهاء الدقيق بمنطقتك الزمنية المحلية.

مستقل عن الخوارزمية

يفك ترميز كل خوارزميات JWSHS256/384/512، وRS256/384/512، وPS256/384/512، وES256/384/512، وEdDSA، وalg:none.

محلي 100%

يجري فك الترميز في متصفحك عبر atob وJSON.parse الأصليتَين. لا يُرفع رمزك أبداً — آمن لبيانات اعتماد الإنتاج.

عرض واعٍ بالمطالبات

يبرز المطالبات المسجّلة في RFC 7519 (iat وexp وnbf وiss وaud وsub وjti) لتكتشف مشكلات المصادقة بنظرة واحدة.

نسخ بنقرة واحدة

انسخ JSON الترويسة أو JSON الحمولة أو التوقيع الخام إلى الحافظة بنقرة واحدة — مثالي لتقارير الأخطاء والاختبارات.

أمثلة

رمز HS256 (صالح)

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzEyMyIsIm5hbWUiOiJBbGljZSIsInJvbGUiOiJhZG1pbiIsImlhdCI6MTcxNTAwMDAwMCwiZXhwIjoxOTk5OTk5OTk5fQ.4NhxPjwoZxPNuxG-2C5ugGxaUsUJ0QyskAz7Ymz5Sg0
{
  "alg": "HS256",
  "typ": "JWT"
}

{
  "sub": "user_123",
  "name": "Alice",
  "role": "admin",
  "iat": 1715000000,
  "exp": 1999999999
}

رمز موقّع بخوارزمية HMAC-SHA256 يتضمّن موضوعاً ودوراً وانتهاء صلاحية في المستقبل — أكثر إعدادات JWT شيوعاً لمصادقة الجلسات.

رمز RS256 (منتهي الصلاحية)

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImtleS0yMDI1LTAxIn0.eyJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJhdWQiOiJhcGkuZXhhbXBsZS5jb20iLCJzdWIiOiI5MDA4NzE2NSIsImlhdCI6MTYwMDAwMDAwMCwiZXhwIjoxNjAwMDAzNjAwLCJzY29wZSI6InJlYWQ6dXNlciB3cml0ZTpwb3N0In0.signature_placeholder
{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "key-2025-01"
}

{
  "iss": "https://auth.example.com",
  "aud": "api.example.com",
  "sub": "90087165",
  "iat": 1600000000,
  "exp": 1600003600,
  "scope": "read:user write:post"
}

رمز وصول بأسلوب OAuth موقّع بـ RSA — لاحظ حقل kid (معرّف المفتاح) في الترويسة وحقل exp الذي يُظهر أن الرمز قد انتهت صلاحيته بالفعل.

رمز هوية OIDC

eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJzdWIiOiIxMTA1MDIyNTExNTU4OTkwNzY2Mzk1IiwiYXpwIjoiY2xpZW50LWlkIiwiYXVkIjoiY2xpZW50LWlkIiwiZW1haWwiOiJhbGljZUBleGFtcGxlLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJpYXQiOjE3MTUwMDAwMDAsImV4cCI6MTk5OTk5OTk5OSwibm9uY2UiOiJhYmMxMjMifQ.signature
{
  "alg": "ES256",
  "typ": "JWT"
}

{
  "iss": "https://accounts.google.com",
  "sub": "110502251155899076639",
  "azp": "client-id",
  "aud": "client-id",
  "email": "alice@example.com",
  "email_verified": true,
  "iat": 1715000000,
  "exp": 1999999999,
  "nonce": "abc123"
}

رمز هوية OpenID Connect بتوقيع ECDSA، يحمل مطالبات بريد إلكتروني وnonce للحماية من إعادة التشغيل.

رمز alg:none (غير موقّع)

eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJkZWJ1Zy11c2VyIiwiaWF0IjoxNzE1MDAwMDAwfQ.
{
  "alg": "none",
  "typ": "JWT"
}

{
  "sub": "debug-user",
  "iat": 1715000000
}

رمز غير موقّع بـ alg:none. قبول مثل هذا الرمز في الإنتاج ثغرة كلاسيكية في JWT — ارفض دائماً alg:none على جانب الخادم.

كيفية الاستخدام

  1. 1

    الصق رمز JWT لفكّ ترميزه

    الصق الرمز كاملاً لفكّ ترميزه — بما في ذلك الأجزاء الثلاثة المفصولة بنقاط — في مربع الإدخال. يعمل المحلّل فوراً في متصفحك؛ لا تحتاج إلى نقر زر.

  2. 2

    اقرأ الترويسة والحمولة والحالة المفكوكة

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

  3. 3

    انسخ المخرجات المفكوكة

    استخدم زر النسخ على كل لوحة لنسخ JSON الترويسة المفكوكة، أو JSON الحمولة المفكوكة، أو التوقيع الخام. لم يُرسل رمزك إلى أي مكان — تم فك الترميز محلياً في متصفحك.

Common Errors

قبول alg:none

يمكن لأي شخص تزوير JWT غير موقّع. لا تسمح أبداً بـ alg:none في الإنتاج — مرّر دائماً قائمة خوارزميات صريحة إلى استدعاء التحقّق.

✗ خطأ
jwt.verify(token, secret)  // library default may allow 'none'
✓ صحيح
jwt.verify(token, secret, { algorithms: ['RS256'] })

غياب مطالبة exp

JWT بلا exp يعيش للأبد. إذا تسرّب الرمز يوماً، فلا توجد نقطة إلغاء طبيعية. اضبط دائماً انتهاء صلاحية مناسباً لنوع الرمز.

✗ خطأ
{ "sub": "user_123", "role": "admin" }  // no exp
✓ صحيح
{ "sub": "user_123", "role": "admin", "exp": 1715003600 }

تخزين الأسرار في الحمولة

حمولات JWT ليست معمّاة — يمكن لأي شخص يمتلك الرمز قراءتها. لا تضع أبداً كلمات مرور أو مفاتيح API أو بيانات شخصية غير مقتطعة داخل حمولة JWT.

✗ خطأ
{ "sub": "user_123", "password": "hunter2" }
✓ صحيح
{ "sub": "user_123", "role": "admin" }  // payload stays minimal

حالات الاستخدام الشائعة

فكّ ترميز رموز Authorization Bearer
فكّ ترميز رموز JWT من ترويسات Authorization: Bearer للتحقّق من المطالبات والجمهور وانتهاء الصلاحية التي تستقبلها واجهتك الخلفية.
فكّ ترميز رموز OAuth 2.0 وOIDC
فكّ ترميز رموز الوصول ورموز الهوية العائدة من خوادم التفويض (Auth0، Okta، Google، Keycloak) أثناء تكامل OAuth 2.0 وOpenID Connect.
تشخيص الجلسات المنتهية الصلاحية
تأكّد في ثانية واحدة ممّا إذا كان الرمز المرفوض منتهي الصلاحية، أو يستخدم جمهوراً خاطئاً، أو يعاني من انحراف ساعة.
فحوصات تدوير المفاتيح
اقرأ kid (معرّف المفتاح) في الترويسة للتحقّق من أن تدوير JWKS الخاص بك يُصدر رموزاً موقّعة بالمفتاح المتوقَّع.
مراجعات الأمان
رصد الرموز الموقّعة بـ alg:none، أو المفتقرة إلى exp، أو التي تسرّب بيانات شخصية في الحمولة أثناء مراجعة الكود واختبار الاختراق.
فحص رموز الخدمات المصغّرة
فك ترميز رموز خدمة-إلى-خدمة داخل شبكة لمعرفة النطاقات والموضوع اللذَين يفوّضهما استدعاء لاحق.

تفاصيل تقنية

متوافق مع RFC 7519
يتعامل مع رموز JWS المتوافقة مع RFC 7519 (JWT) وRFC 7515 (JWS) وRFC 7518 (JWA) — كل الخوارزميات المسجّلة مدعومة لفك الترميز.
فك ترميز Base64URL
يستخدم أبجدية Base64 الآمنة للروابط (- و_ بدلاً من + و/) المعرّفة في RFC 4648، مع تحليل يتحمّل الحشو.
أصيل في المتصفح، بلا تبعيات
مبني على atob وTextDecoder وJSON.parse في المتصفح — لا مكتبات خارجية ولا استدعاءات شبكة ولا قياسات.

أفضل الممارسات

لا تثق دون تحقّق
يُظهر المحلّل المطالبات؛ لكنه لا يُثبتها. تحقّق دائماً من التوقيع على جانب الخادم باستخدام مفتاح المُصدِر قبل الوثوق بأي مطالبة.
ارفض alg:none في الإنتاج
اضبط مكتبة JWT لديك بقائمة سماح صريحة بالخوارزميات. لا تقبل أبداً alg:none، واشتبه في عدم تطابق alg أثناء تدوير المفاتيح.
حافظ على حمولات خفيفة
ضع المعرّفات والمطالبات قصيرة العمر في JWT؛ وأبقِ البيانات الضخمة خلف معرّف جلسة غامض. الرموز الكبيرة تكلّف عرض نطاق على كل طلب.

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

كيف أفكّ ترميز رمز JWT أونلاين؟
الصق رمز JWT الكامل — الأجزاء الثلاثة المفصولة بنقاط (header.payload.signature) — في المحلّل أعلاه. يتم فك الترميز فوراً في متصفحك: تُفكّ ترميز الترويسة والحمولة بـ Base64URL إلى JSON قابل للقراءة، ويُعرض التوقيع كسلسلة خام. يُظهر صف الحالة خوارزمية التوقيع ووقت الإصدار وانتهاء الصلاحية، حتى تكتشف الرمز المنتهي بنظرة واحدة. لفكّ ترميز JWT يدوياً، قسّم الرمز عند النقاط، وفكّ ترميز الجزأين الأوّلين بـ Base64URL، ثم حلّلهما كـ JSON — يمكن لأي شخص يملك الرمز قراءة مطالباته لأن الحمولة مُرمَّزة وليست مُشفَّرة. هذا المحلّل آمن للاستخدام مع رموز الإنتاج لأن لا شيء يغادر جهازك: لا طلب شبكة، ولا تسجيل، ولا تتبّع.
ما هو رمز JWT (رمز ويب JSON
رمز ويب JSON (JWT) هو بيانات اعتماد مدمجة وآمنة للروابط تحمل مطالبات بين طرفين. عُرّف في RFC 7519، ويتكوّن من ثلاثة أقسام مرمّزة بـ Base64URL مفصولة بنقاط: الترويسة (الخوارزمية ونوع الرمز)، والحمولة (المطالبات — بيانات عن المستخدم والرمز نفسه)، والتوقيع (إثبات معتمد على التعمية بأن الرمز صدر عن طرف موثوق). رموز JWT هي الطريقة المعيارية لتمثيل رموز الوصول في OAuth 2.0 ورموز الهوية في OpenID Connect.
هل رمزي آمن مع هذا المحلّل لـ JWT؟
نعم. يجري فك الترميز بالكامل في متصفحك باستخدام واجهات JavaScript الأصلية (atob وTextDecoder). لا يُرسل رمزك إلى خادم أبداً، ولا يُسجَّل، ولا يُخزَّن، ولا يُستخدم للتحليلات. لا توجد ملفات تعريف ارتباط ولا تتبّع. هذا مهم لأن رموز JWT قد تحتوي على رموز وصول حية — لصقها في محلّل بعيد يعادل تسليم بيانات اعتماد. أداتنا آمنة للاستخدام مع رموز الإنتاج.
كيف يعمل محلّل JWT؟
يقسم محلّل JWT الرمز بالنقاط إلى ثلاثة أجزاء، ويفك ترميز الترويسة والحمولة بـ Base64URL، ثم يحلّلهما كـ JSON. يُترك التوقيع كسلسلة Base64URL غامضة لأن التحقّق منه يتطلّب سرّ المُصدِر أو مفتاحه العام — وهو ما لا يمكن لمحلّل على جانب العميل القيام به بأمان. يعني ذلك أن فك الترميز فوري ويكشف المطالبات، لكن يجب التحقّق من التوقيع على جانب الخادم باستخدام المفتاح الصحيح قبل الوثوق بأي شيء داخله.
هل يمكن لهذه الأداة التحقّق من توقيع JWT؟
لا، ولا تفعل ذلك عمداً. يتطلّب التحقّق من التوقيع سرّ المُصدِر (لـ HMAC) أو المفتاح العام (لـ RSA/ECDSA/EdDSA)، والذي لا ينبغي لصقه أبداً في أداة ويب عامة. يجب أن يحدث التحقّق على خادمك، أو في طبقة المصادقة الوسيطة، أو داخل SDK يملك وصولاً إلى نقطة نهاية JWKS الخاصة بك. هذا المحلّل مخصّص لفحص ما يدّعيه الرمز — ولا يعني ذلك أن الرمز أصيل أو غير معبَث به.
ما معنى iat وexp وnbf وiss وaud وsub وjti؟
هذه هي المطالبات المسجّلة من RFC 7519. iat (صدر في) هو طابع Unix الزمني لحظة إنشاء الرمز. exp (انتهاء الصلاحية) هو الوقت الذي يتوقّف فيه الرمز عن كونه صالحاً — تحوّله هذه الأداة إلى تاريخ قابل للقراءة وتعلّم الرمز منتهي الصلاحية إذا كان exp في الماضي. nbf (ليس قبل) هو أبكر وقت يمكن فيه استخدام الرمز. iss (المُصدِر) يحدّد من أنشأ الرمز. aud (الجمهور) يسمّي المستلم المقصود. sub (الموضوع) يحدّد الطرف الأساسي — عادةً معرّف المستخدم. jti هو معرّف رمز فريد يُستخدم لمنع إعادة التشغيل. وتوجد بجانبها مطالبات خاصة بالتطبيق (الدور، النطاق، البريد الإلكتروني، الاسم).
رمز JWT الخاص بي منتهي الصلاحية — لماذا يحلّله المحلّل رغم ذلك؟
فك الترميز ليس مثل التحقّق. يقرأ محلّل JWT المحتوى بصرف النظر عن انتهاء الصلاحية، بحيث يمكنك فحص رمز منتهي الصلاحية أو رمز غير صالح لتصحيح سبب رفضه. تقارن شارة "منتهي الصلاحية" في هذه الأداة مطالبة exp بساعتك المحلية وتعلّم الرموز التي يكون exp لها في الماضي. سيرفض خادم مصادقة حقيقي الرمز مباشرةً — لكن محلّلاً يرفض إظهار الرموز المنتهية الصلاحية سيكون عديم الفائدة للتصحيح.
ما الفرق بين JWT وJWS وJWE؟
JWT هو المفهوم العام — كائن JSON مرمّز كرمز مدمج. JWS (RFC 7515) هو JWT موقّع: الحمولة قابلة للقراءة من قِبل أي شخص يفك ترميزها، والتوقيع يثبت أنها لم تُعبث بها. هذا هو أكثر أنواع JWT شيوعاً. JWE (RFC 7516) هو JWT معمّى: الحمولة نفسها نص معمّى ولا يمكن فك ترميزها دون مفتاح التعمية. تفك هذه الأداة ترميز رموز JWS. أما رمز JWE فسيُفك ترميز ترويسته فقط — الحمولة المعمّاة غير قابلة للقراءة دون المفتاح.
لماذا يُعدّ alg:none خطيراً؟
رمز JWT بـ alg:none ليس له توقيع — يمكن لأي شخص إنشاؤه، مدّعياً أنه أي مستخدم. كانت مكتبات JWT المبكرة تقبل alg:none افتراضياً، مما أدى إلى فئة معروفة من تجاوزات المصادقة يقوم فيها المهاجم بحذف التوقيع، وتعيين alg إلى none، وتزوير رمز مدير. كل مكتبة JWT ناضجة اليوم ترفض alg:none ما لم يُسمح به صراحةً، ولا ينبغي قبوله أبداً للطلبات الموثّقة. سيعرض هذا المحلّل رمز alg:none لأن فحصه أثناء التصحيح أمر مشروع — لكن تعامل مع أي رمز من هذا النوع يصلك في الإنتاج كرمز معادٍ.
ما الخوارزميات التي يدعمها هذا المحلّل لـ JWT؟
فك ترميز الترويسة والحمولة يعمل مع كل خوارزمية، لأن فك الترميز يحتاج فقط إلى Base64URL وتحليل JSON — فهو مستقل عن الخوارزمية. تقرأ الأداة بشكل صحيح الرموز الموقّعة بـ HS256 وHS384 وHS512 (HMAC)، وRS256 وRS384 وRS512 (RSA + SHA)، وPS256 وPS384 وPS512 (RSA-PSS)، وES256 وES384 وES512 (ECDSA)، وEdDSA (Ed25519/Ed448)، والرموز غير الموقّعة (alg:none). التحقّق من التوقيع فقط هو الخاص بالخوارزمية، وهذه الأداة لا تجريه.
هل أخزّن رموز JWT في localStorage أم في ملفات تعريف الارتباط؟
فضّل ملفات تعريف الارتباط بخصائص HttpOnly وSecure وSameSite=Strict لرموز الجلسات. الرمز في localStorage قابل للقراءة من قِبل أي JavaScript يعمل على الصفحة، فثغرة XSS واحدة تسرّب كل جلسة نشطة. ملفات تعريف الارتباط بخاصية HttpOnly غير مرئية لـ JavaScript، مما يقلّص نطاق ضرر XSS إلى ما يستطيع المهاجم فعله داخل صفحة حية — لا رمزاً مسروقاً يمكنه إعادة تشغيله لأيام. إذا كان لا بدّ من استخدام localStorage (مثلاً للتطبيقات عبر النطاقات)، فأبقِ أعمار رموز الوصول قصيرة (دقائق لا ساعات) واستخدم رمز تحديث منفصلاً في ملف تعريف ارتباط بخاصية HttpOnly.
كيف أفك ترميز JWT في Node.js أو Python أو Go؟
Node.js: jsonwebtoken.decode(token) للقراءة فقط، وjsonwebtoken.verify(token, key) للتحقّق. Python: PyJWT.decode(token, options={'verify_signature': False}) للقراءة، ومرّر مفتاحاً للتحقّق. Go: jwt.ParseUnverified(token, claims) للقراءة فقط، وjwt.Parse(token, keyFunc) للتحقّق. في كل لغة، لا تتحقّق أبداً باستخدام options={'verify_signature': False} في كود الإنتاج — هذا ما تفعله هذه الأداة على الويب عمداً للتصحيح، وهو آمن فقط عندما تفحص لا عندما تصادق.
ما الحد الأقصى لحجم JWT؟
لا يفرض معيار JWT حداً صارماً، لكن الترويسات في معظم خوادم الويب تبلغ افتراضياً نحو 8 كيلوبايت. أبقِ الرموز تحت 4 كيلوبايت لتلائم براحة ترويسات Authorization وملفات تعريف الارتباط. إذا كان رمزك أكبر من ذلك، فأنت على الأرجح تضع مطالبات كثيرة جداً في الحمولة — انقل البيانات الضخمة خلف معرّف جلسة غامض واجلبها من الواجهة الخلفية عند الحاجة. رموز JWT المتضخّمة تكلّف أيضاً على كل طلب لأنها تُرسل مع كل استدعاء API.
لصقت رمزي وحصلت على 'تنسيق JWT غير صالح' — ما الخطب؟
يتكوّن JWT الصالح من ثلاثة أجزاء بالضبط مفصولة بنقاط: header.payload.signature. الأسباب الشائعة: (1) نسخت عرضاً مقطع الحمولة فقط، (2) لصقت مسافات بيضاء أو أسطراً جديدة في المنتصف، (3) اقتُطع الرمز أثناء النقل (شائع مع التفاف الطرفية)، (4) الرمز هو JWE تنسيقه header.encryptedKey.iv.ciphertext.tag (خمسة أجزاء)، أو (5) الرمز مُرمّز بـ URL وتحتاج إلى فك ترميز الرابط أولاً. افحص القيمة الخام التي أعادتها واجهة API الخاصة بك — تُظهر معظم المحرّرات الأحرف غير المرئية عند التمرير.
هل يمكنني فك ترميز JWT دون المفتاح السري؟
نعم — الترويسة والحمولة مرمّزتان بـ Base64URL، وليستا معمّاتين. يمكن لأي شخص يمتلك الرمز قراءة مطالباته دون أي مفتاح. هذا بالتصميم: الحمولة مُعدّة لتكون قابلة للقراءة حتى يتّخذ المستلم قرارات التفويض منها. السرّ أو المفتاح العام مطلوب فقط للتحقّق من أن الرمز لم يُعبث به. لهذا السبب يجب ألّا تضع أبداً بيانات حساسة (كلمات مرور، مفاتيح خاصة، بيانات شخصية تتجاوز ما يعرفه المستلم بالفعل) داخل حمولة JWT.
رمزي JWT يعمل في Postman لكن الواجهة الخلفية ترفضه — كيف أصحّح؟
فك ترميز الرمز هنا وافحص: (1) exp — هل هو في المستقبل بالنسبة لساعة الخادم؟ انحراف ساعة الخادم سبب متكرر. (2) iss / aud — هل يطابقان تماماً ما تتوقّعه الواجهة الخلفية؟ عدم تطابق aud هو السبب الأكثر شيوعاً للرفض الخاطئ. (3) alg — هل يسمح كود التحقّق بتلك الخوارزمية؟ رمز HS256 سيفشل مع مكتبة مُعدّة لـ RS256 فقط. (4) kid — إذا كنت تستخدم تدوير المفاتيح، هل معرّف المفتاح في الترويسة موجود في JWKS الخاص بك؟ (5) التوقيع — هل لصقت السرّ أو المفتاح العام الصحيح؟ يُظهر هذا المحلّل (1) و(2) و(3) و(4) في عرضَي الترويسة والحمولة حتى تستبعدها بسرعة.

أدوات ذات صلة

عرض جميع الأدوات →

مولّد تجزئة MD5 — فوري ومجاني أونلاين

أدوات الأمن

أنشئ تجزئة MD5 وSHA-256 وSHA-1 وSHA-512 فوراً — أداة مجانية تعمل في متصفّحك بدون تتبّع أو رفع بيانات. الصق النص واحصل على التجزئة في ثانية. جرّبها الآن.

مولّد كلمات مرور عشوائية — قوي وآمن ومجاني

أدوات الأمن

ولّد كلمات مرور عشوائية قوية فوراً — أداة مجانية أونلاين تعمل في متصفّحك فقط. خصّص الطول والأحرف، دُفعات حتى 50 مع تحليل الإنتروبيا. بياناتك لا تغادر جهازك.

مولّد ومحلل UUID — وضع الدُفعات

أدوات الأمن

أنشئ UUID من النوع v1 وv4 وv5 وv7 فوراً — مولّد مجاني أونلاين مع محلل وتحقق. دُفعات حتى 50. يعمل في متصفّحك 100%. جرّبه الآن.

محوّل الأنظمة العددية — ثنائي وست عشري وعشري وثماني

أدوات التحويل

حوّل بين الأنظمة الثنائية والست عشرية والعشرية والثمانية وأي أساس من 2 إلى 36 فوراً — أداة مجانية أونلاين تعمل في متصفّحك. جرّبها الآن.

محوّل Base64 — ترميز وفك ترميز أونلاين

الترميز والتنسيق

رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.

ضغط الصور — JPEG وPNG وWebP

أدوات التحويل

اضغط صور JPEG وPNG وWebP أونلاين مجاناً — بياناتك لا تغادر متصفّحك أبداً. قلّل حجم الصورة حتى 80% مع الحفاظ على الجودة. معالجة دفعية لـ 20 صورة.