JWT المفكك/

بياناتك خاصة بنسبة 100٪ -- يتم فك وتشفير JWT مباشرة على جهازك.

JWT
الرأس المفكك
الحمولة المفككة
المفتاح العام

تعلم حول JWT

كل ما يهمك عن JWT ودليل خطوة بخطوة للتحقق من JWT في إطار عمل متنوع.

ما هو JWT؟

JWT (رمز الشبكة القائم على JSON) هو رمز ذاتي الاحتواء وقائم بذاته يتضمن البيانات بطريقة منظمة وقابلة للقراءة. سواء كنت تحمي واجهة برمجية تطبيقات أو تتبنى مصادقة قائمة على الرموز لتطبيقك، تعتبر JWT أداة قوية لأنها:

  • بدون حالة: JWTs طبيعتها ذاتية الاحتواء ولا تتطلب حالة خادم للتحقق منها. يمكن أن تضمن JWT تكامل البيانات عبر التوقيعات.
  • توافق بين الخدمات: يمكن مشاركة التحقق من JWTs بسهولة عبر خدمات مختلفة.
  • قابلة للتمديد: يمكن أن تحتوي الحمولة في JWT على مطالبات مخصصة، مما يتيح التفويض المرن ومشاركة المعلومات.
تعلم المزيد

هيكل JWT

يتم تقسيم JWT النموذجي إلى ثلاثة أجزاء، كل منها مشفر بـ Base64URL ومفصول بالنقاط (.):

  • الرأس - يحتوي على البيانات الوصفية، مثل الخوارزمية المستخدمة في التوقيع (مثل HS256 أو RS256) ونوع الرمز (JWT).
  • الحمولة - تحتوي على البيانات الفعلية مثل معرف المستخدم، الملف الشخصي للمستخدم، وقت الانتهاء، أو النطاقات.
  • التوقيع - هو مزيج مشفر من الرأس والحمولة ومؤمن باستخدام مفتاح سري. الغرض منه ضمان تكامل الرمز والتأكد من أنه لم يتم تعديله

يمكن أن يوفر هيكل JWTs طريقة مضغوطة وآمنة لنقل المعلومات بين الأطراف.

jwt_structure

مطالبات الرمز الشائعة في JWT

المطالبات جزء من الحمولة وتحمل معلومات المفتاح. وهنا مطالبات ذات معايير مرجعية مسجلة:

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

استنادًا إلى المواصفات وتكوين خادم التفويض، قد يتم تضمين مطالبات إضافية في الحمولة لدعم حالات استخدام محددة. يمكنك أيضًا إضافة مطالبات مخصصة إلى JWT لتلبية متطلبات العمل الفريدة.

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

متى تستخدم JWT؟

يمكن أن تكون JWT مفيدة بشكل خاص في السيناريوهات التالية:

  1. هندسة الخدمات الصغيرة: للمصادقة بدون حالة عبر خدمات متعددة.
  2. أنظمة تسجيل الدخول الموحد (SSO): تمكين الوصول إلى تطبيقات متعددة بمصادقة واحدة.
  3. التطبيقات المحمولة: الحفاظ بكفاءة على جلسات المستخدم عبر مكالمات API.
  4. التطبيقات ذات الحركة العالية: تقليل الحمل على قاعدة البيانات في بيئات الحركة العالية.
  5. مشاركة الموارد عبر الأصول (CORS): تسهيل المصادقة عبر المجالات المتعددة.
  6. هندسات بدون خادم: توفير المصادقة بدون حالة حيث تكون جلسات الخادم صعبة.
تعلم المزيد

كيفية التحقق من JWT؟

يجب التحقق من تكامل JWT لضمان أن العنوان والحمولة لم يتم العبث بهما. أدناه أمثلة خطوة بخطوة للتحقق من JWTs في بيئات البرمجة الشهيرة:

مواضيع ذات صلة بـ JWT

كل ما يهمك عن JWT ودليل خطوة بخطوة للتحقق من JWT في إطار عمل متنوع.

افتح المزيد مع Logto Cloud

بسط سير العمل الخاص بك وضمان إدارة مستخدم آمنة مع Logto Cloud. مبني على OpenID Connect (OIDC)، يستفيد من JWT لتوفير نظام مصادقة وتفويض موثوق مصمم للنمو مع احتياجاتك.