ما هو JWT وكيف يعمل؟

توكنات الويب JSON (JWTs) هي وسيلة مضغوطة وآمنة من حيث عنوان URL لتمثيل المطالبات التي يتم نقلها بين طرفين. وغالبًا ما تُستخدم هذه المطالبات لضمان نزاهة المعلومات وصحتها.

Amir Hassan

Amir Hassan

1 يونيو 2025

ما هو JWT وكيف يعمل؟

توكنات الويب JSON (JWTs) هي وسيلة مضغوطة وآمنة عبر الإنترنت لتمثيل الادعاءات التي سيتم نقلها بين طرفين. وغالبًا ما تستخدم هذه الادعاءات لضمان سلامة المعلومات وموثوقيتها.

تستكشف هذه المقالة كيفية عمل توكنات الويب JWT. سنلقي نظرة على هيكل JWT، الذي يتكون من ثلاثة أجزاء مشفرة وموقعة رقميًا. ثم سنناقش حالات الاستخدام الشائعة لـ JWTs ونراجع بعض فوائد استخدامها،

هيكل توكن الويب JWT (مع مثال)

يتكون توكن الويب JSON (JWT) من ثلاثة أجزاء مفصولة بنقاط: الرأس، الحمولة، والتوقيع. الهيكل العام هو:

xxxxxxxxxx.yyyyyyyyyy.zzzzzzzzzz

الرأس:

الحمولة:

التوقيع:

جمع كل ذلك معًا:

Header: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
Payload: eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
Signature: HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

JWT المشفر:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwia

فوائد استخدام JWT:

تحتوي JWTs على كائنات JSON مشفرة وموقعة، مما يضمن السلامة والموثوقية دون الاعتماد على الجلسات الموجهة على الخادم.

بعض الفوائد الرئيسية التي تجعل JWTs مفيدة هي:

JWT مقابل OAuth: الفرق بين JWT و OAuth

توكن الويب JWT (JSON Web Token) و OAuth مرتبطان ولكنهما يخدمان أغراضًا مختلفة في سياق المصادقة والتفويض في تطوير الويب. إليك مقارنة سريعة بين JWT و OAuth:

JWT (توكن الويب JSON):

  1. الغرض: JWT هو وسيلة مضغوطة ومستقلة لنقل المعلومات بين الأطراف بشكل آمن. يُستخدم عادةً للمصادقة وتبادل المعلومات.
  2. المحتوى: تحتوي JWT على ادعاءات حول كيان (عادةً، مستخدم) وغالبًا ما تُستخدم لمصادقة المستخدم. يمكن أن تشمل الادعاءات معرف المستخدم، والأدوار، والأذونات، ومعلومات أخرى ذات صلة. تُستخدم JWTs غالبًا لإنشاء أنظمة مصادقة غير موجهة.
  3. الاستخدام: تُرسل JWTs عادةً كجزء من رؤوس الطلبات في طلبات HTTP. تُستخدم لتمثيل هوية المستخدم وامتيازاته.

OAuth (التفويض المفتوح):

  1. الغرض: OAuth هو إطار عمل للتفويض، يسمح لتطبيق طرف ثالث بالوصول إلى موارد مستخدم على خادم آخر دون الكشف عن بيانات اعتماد المستخدم. لم يتم تصميم OAuth للمصادقة ولكنه للتفويض.
  2. الأدوار: يحدد OAuth أدوارًا مثل مالك المورد، العميل، خادم التفويض، وخادم المورد. يتيح السيناريوهات حيث يمكن للمستخدم منح الوصول إلى موارده (مثل الصور، جهات الاتصال) لتطبيق آخر دون مشاركة بيانات اعتماده.
  3. أنواع المنح: يقدم OAuth أنواع المنح (رمز التفويض، ضمني، بيانات اعتماد العميل، كلمة المرور، إلخ) لتحديد كيفية تنفيذ عملية التفويض.
  4. التوكنات: يشمل OAuth استخدام توكنات الوصول وتوكنات التحديث. تُستخدم توكنات الوصول للوصول إلى الموارد المحمية، ويمكن استخدام توكنات التحديث للحصول على توكن وصول جديد.

الاختلافات الرئيسية:

كيف يعمل JWT؟

تلعب توكنات الويب JSON (JWTs) دورًا رئيسيًا في المصادقة من خلال توفير وسيلة آمنة وفعالة للتحقق من هوية المستخدمين. يتضمن العملية عادةً الخطوات التالية:

  1. مصادقة المستخدم: يقوم المستخدمون بتسجيل الدخول باستخدام اسم المستخدم وكلمة المرور الخاصة بهم أو من خلال مقدمي خدمة خارجيين مثل Google أو Facebook. يقوم خادم المصادقة بالتحقق من بيانات الاعتماد ويصدر توكن ويب JSON (JWT) يشهد على هوية المستخدم.
  2. إنشاء JWT: يقوم موفر الهوية (IdP) بإنشاء JWT، موقعة إما بملح سري أو مفتاح خاص. تحتوي هذه JWT على معلومات أساسية للمستخدم، مثل معرف المستخدم، والأدوار، ووقت انتهاء الصلاحية.
  3. استخدام JWT: يقوم عميل المستخدم بتخزين JWT بشكل آمن التي تم الحصول عليها أثناء المصادقة. عند الوصول إلى الموارد المحمية، يتضمن العميل JWT في رأس تفويض HTTP.
  4. التحقق من التوكن: يقوم خادم المورد بفك تشفير والتحقق من موثوقية JWT باستخدام الملح السري المحدد أو المفتاح العام. يضمن هذا العملية سلامة وأصل التوكن.

JWT في Apidog

Apidog هو أداة لتطوير واختبار واجهة برمجة التطبيقات سهلة الاستخدام تتميز في إدارة توكنات الويب JSON (JWT). مع واجهته البديهية، يبسط Apidog عملية التعامل مع JWTs، مما يوفر دعمًا تلقائيًا لإنشاء التوكنات، والإدارة الديناميكية، والتضمين السلس في طلبات واجهة برمجة التطبيقات.

JWT

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

زر

Explore more

أين يمكن تنزيل Swagger UI باللغة العربية مجانًا

أين يمكن تنزيل Swagger UI باللغة العربية مجانًا

استكشف صعوبة الحصول على واجهة باللغة العربية لـ Swagger UI وتعرف على سبب كون Apidog بديلاً قويًا لمنصة تطوير واجهات برمجة التطبيقات (APIs).

23 أبريل 2025

أين يمكن تحميل Postman بالعربية مجانًا؟ استكشاف الخيارات وبديل Apidog

أين يمكن تحميل Postman بالعربية مجانًا؟ استكشاف الخيارات وبديل Apidog

هل يمكنك تحميل Postman بالعربية مجانًا؟ بينما يفتقر Postman للدعم الأصلي للغة العربية، توجد حلول بديلة. استكشفها واكتشف Apidog، بديل Postman القوي والموحد المصمم لتبسيط سير عمل API بالكامل، بغض النظر عن اللغة.

22 أبريل 2025

للمبتدئين: الاستخدام الأساسي لبرنامج Postman

للمبتدئين: الاستخدام الأساسي لبرنامج Postman

Postman هي أداة أساسية لاختبار واجهات برمجة التطبيقات (API). يمكن أن يُحسن كفاءتك عند تنفيذ استراتيجيات API. في هذه المقالة، سأشرح أساسيات استخدام Postman، لتمكين المستخدمين الجدد من تعلمه بسهولة من خلال هذا الدليل.

25 مارس 2025

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات