[دليل] أنواع منح OAuth 2.0

في OAuth 2.0، تحدد أنواع المخولات كيفية حصول تطبيق العميل على رمز وصول للوصول إلى موارد المستخدم على خادم الموارد. تستكشف هذه الدليل أنواع المخولات الشائعة في OAuth 2.0، بما في ذلك رمز التفويض وكلمة مرور مالك المورد وبيانات اعتماد العميل والمزيد.

Amir Hassan

Amir Hassan

29 مايو 2025

[دليل] أنواع منح OAuth 2.0

إطار تفويض OAuth 2.0 يدعم التفويض الآمن من خلال تقديم آلية للتطبيقات للحصول على وصول محدود إلى حسابات المستخدمين على خدمة HTTP. تتناول هذه الإرشادات أنواع المنح المختلفة المستخدمة ضمن OAuth 2.0، والتي تحدد الطريقة التي تحصل بها تطبيقات العملاء على رموز الوصول للوصول إلى موارد المستخدمين على خادم الموارد.

💡
Apidog هي أداة قوية لتطوير واجهات برمجة التطبيقات تتيح للمطورين تنفيذ أنواع مختلفة من بروتوكولات المصادقة - بما في ذلك OAuth 2.0.

إذا كنت ترغب في معرفة المزيد عن Apidog وميزاته الشاملة، انقر على الزر أدناه للبدء! 👇 
زر

قبل الغوص في أنواع المنح في OAuth 2.0، دعنا نأخذ لمحة سريعة عن ماهية OAuth 2.0.

ما هو OAuth 2.0؟

OAuth 2.0 هو بروتوكول تفويض قياسي في الصناعة. يسهل تفويض الوصول بشكل آمن بين التطبيقات (العملاء) وحسابات المستخدمين المستضافة بواسطة خدمات منفصلة (خوادم الموارد). وهذا يسمح للمستخدمين بمنح التطبيقات إذنًا للوصول إلى معلوماتهم على خادم الموارد دون مشاركة بيانات اعتمادهم بشكل مباشر.

ما هي أنواع منح OAuth 2.0؟

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

تحليل مفصل لأنواع منح OAuth 2.0 المختلفة

1. منح رمز التفويض: تفضل هذه العملية المستخدمة على نطاق واسع الأمان. إنها تتضمن تبادلًا يتكون من أربع خطوات:

المزايا: آمنة للغاية بسبب فصل رمز التفويض ورمز الوصول. مثالية لتطبيقات الجانب الخادم مع تخزين آمن لسر العميل.

العيوب: تحتاج إلى عدة إعادة توجيه بين تطبيق العميل، وخادم التفويض، وخادم الموارد.

2. منح بيانات الاعتماد لمالك المورد: تستفيد هذه الطريقة من بيانات اعتماد تسجيل دخول المستخدم مباشرة.

المزايا: تنفيذ بسيط، مناسب بشكل خاص للتطبيقات الموثوقة من الطرف الأول.

العيوب: أقل أمانًا حيث يكشف بيانات اعتماد المستخدم. غير موصى بها لتطبيقات العملاء العامة بسبب مخاطر الأمان.

3. منح بيانات اعتماد العميل: مصممة للتطبيقات التي تعمل نيابة عن نفسها، وليس نيابة عن مستخدم محدد.

المزايا: فعالة للتفاعلات بين الآلات حيث لا تكون مشاركة المستخدم ضرورية.

العيوب: الوصول الممنوح هو باسم التطبيق نفسه، وليس مستخدمًا محددًا. يتطلب اعتبارًا دقيقًا للأذونات الممنوحة.

4. المنح الضمنية: تستخدم غالبًا في التطبيقات المحمولة أو التطبيقات ذات الصفحة الواحدة، وتبسط العملية من خلال إرجاع رمز الوصول مباشرة إلى تطبيق العميل.

المزايا: تجربة مستخدم مبسطة بسبب إعادة التوجيه الواحدة.

العيوب: أقل أمانًا حيث يتم كشف رمز الوصول لتطبيق العميل، مما يجعله عرضة للسرقة. غير موصى بها للتطبيقات التي تتعامل مع بيانات حساسة.

5. منح رمز التحديث: يوفر آلية للحصول على رموز وصول جديدة دون الحاجة إلى إعادة مصادقة المستخدم.

المزايا: يعزز تجربة المستخدم عن طريق التخلص من الاستفسارات المتكررة لتسجيل الدخول.

العيوب: يقدم رمزًا آخر يحتاج إلى إدارة آمنة.

كيفية اختيار نوع المنح الصحيح OAuth 2.0 لواجهة برمجة التطبيقات الخاصة بك

1.احتياجات الأمان:

2.خبرة المستخدم:

3.نوع تطبيق العميل:

تذكر:

اختر مصادقة OAuth 2.0 لواجهة برمجة التطبيقات الخاصة بك مع Apidog

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

واجهة محاكاة Apidog
زر

بناء واجهات برمجة التطبيقات من الصفر باستخدام Apidog

إذا كنت بحاجة إلى أداة واجهة برمجة التطبيقات لمساعدتك في إنشاء واجهات برمجة التطبيقات، فإن Apidog يدعمك. انظر إلى هذا القسم لفهم كيف يمكنك استخدام Apidog لإنشاء واجهات برمجة التطبيقات في أي وقت.

واجهة برمجة تطبيقات جديدة Apidog

ابدأ بالضغط على زر واجهة برمجة تطبيقات جديدة، كما هو موضح في الصورة أعلاه.

إضافة تفاصيل واجهة برمجة التطبيقات الجديدة Apidog

بعد ذلك، يمكنك تحديد العديد من خصائص واجهة برمجة التطبيقات. في هذه الصفحة، يمكنك:

  • تحديد طريقة HTTP (GET، POST، PUT، أو DELETE)
  • تحديد عنوان URL لواجهة برمجة التطبيقات (أو نقطة نهاية واجهة برمجة التطبيقات) للتفاعل بين العميل والخادم
  • تضمين معلمة واحدة/عدة تمرير في عنوان URL لواجهة برمجة التطبيقات
  • تقديم وصف للوظائف التي تهدف واجهة برمجة التطبيقات إلى توفيرها.

لتقديم بعض المساعدة في إنشاء واجهات برمجة التطبيقات في حال كانت هذه هي المرة الأولى التي تقوم فيها بإنشائها، يمكنك النظر في قراءة هذه المقالات لفهم أفضل الممارسات لإنشاء واجهات برمجة التطبيقات REST (أو واجهات برمجة التطبيقات بشكل عام):

واجهة برمجة التطبيقات REST - أفضل الممارسات والأمثلة
لدى عناوين URL لواجهات برمجة التطبيقات REST هيكل أمثل ومعياري. يتفق معظم المطورين معًا على الالتزام بالمعيار لزيادة التنبؤ والألفة بعناوين URL لواجهات برمجة التطبيقات REST، مما يسمح لهم بالتفاعل معها بشكل أكثر كفاءة.
درس: كيفية تمرير معلمات متعددة في عناوين URL لواجهات برمجة التطبيقات REST؟
هناك نوعين شائعين من المعلمات تُستخدم بشكل واسع في المواقع الحديثة. على الرغم من اختلافهما قليلاً بناءً على وظائفهما، تساعد المعلمات المطورين في تحديد موارد محددة موجودة داخل مجموعة أو نظام.

اختيار مصادقة OAuth 2.0 مع Apidog

مع واجهة المستخدم البسيطة والبديهية في Apidog، يمكنك بسهولة اختيار OAuth 2.0 - أو أي نوع آخر من المصادقة - في غضون ثوانٍ!

طلب جديد اختيار نوع المصادقة Apidog

بعد إنشاء طلب جديد، اختر نوع المصادقة OAuth 2.0، كما هو موضح في الصورة أعلاه. هذا سيضمن أن واجهات برمجة التطبيقات الخاصة بك ستتمتع بأمان أفضل!

الخاتمة

تمكّن معرفة أنواع منح OAuth 2.0 المطورين من إنشاء سير عمل تفويض آمن وسهل الاستخدام لتطبيقاتهم. من خلال تقييم عوامل مثل مقياس الأمان، وتجربة المستخدم، ونوع تطبيق العميل بعناية، يمكن للمطورين اختيار النوع الأنسب من المنح. يضمن هذا الاختيار تحقيق توازن بين التحكم القوي في الوصول وتجربة مستخدم سلسة.

فهم أنواع المنح هو مهارة أساسية للمطورين الذين يعملون مع OAuth 2.0. من خلال استغلال المعرفة المقدمة في هذه الإرشادات، يمكن للمطورين اتخاذ قرارات مستنيرة عند تصميم آليات تفويض آمنة وفعّالة لتطبيقاتهم.



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

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