ما هي مصادقة OAuth؟ نبذة تاريخية.
OAuth 2.0 Authentication ، كما هو موضح في oauth.net ، هو “بروتوكول تفويض يستخدم لنقل قرارات التفويض عبر شبكة من التطبيقات وواجهات برمجة التطبيقات التي تدعم الويب”. تم إنشاء OAuth في عام 2006 من قبل مطورين من Twitter و Ma.gnolia ، وهو موقع إشارة مرجعية اجتماعية. كان Ma.gnolia يبحث عن طريقة لاستخدام OpenID ، إلى جانب واجهة برمجة تطبيقات Twitter ، لتفويض المصادقة. بحثت الفرق في الأفكار وأدركت في النهاية أنه لا يوجد معيار مفتوح لتفويض الوصول إلى واجهة برمجة التطبيقات. علاوة على ذلك ، كانت Google تبحث أيضا في هذه المشكلة نفسها وسمعت عن المشروع بين Twitter و Ma.gnolia. ونتيجة لذلك ، انضم أعضاء من Google إلى الفريق. بحلول نهاية عام 2007 ، تم إصدار مسودة OAuth Core 1.0. تم إصدار الإطار الحالي ، OAuth 2.0 في أكتوبر من عام 2012.
أدوار مصادقة OAuth 2.0
ضمن OAuth 2.0 ، يتم تحديد الأدوار الأربعة التالية:
- مالك المورد. يمكن لمالك المورد منح حق الوصول إلى مورد أو خدمة محمية. يمكن أن يكون شخصا أو تطبيقا أو سياسة أمنية ، ولكن عادة ما يكون إنسانا حقيقيا.
- خادم الموارد. هو الخادم الذي يستضيف المورد أو الخدمة. يقبل الخادم الطلبات ويستجيب لها.
- تطبيق العميل. يشار إليه باسم عميل OAuth ، تطبيق العميل هو التطبيق الذي يطلب الوصول إلى الموارد على خادم الموارد.
- خادم التفويض. بعد مصادقة مالك المورد والحصول على التفويض، يوفر خادم التخويل رموز الوصول إلى العميل.
من المهم ملاحظة أن OAuth ليس بروتوكول مصادقة ، بل هو بروتوكول تفويض . قد يبدو أن الطريقة التي تعمل بها المكونات معا وتتفاعل توحي بالمصادقة ، ومع ذلك ، لا يقصد استخدامها على هذا النحو.
لماذا تستخدم مصادقة OAuth 2.0؟
الاحتمالات هي أنك رأيت بالفعل مفهوم OAuth في العمل ولم تدركه حتى. العديد من التطبيقات التي تستخدمها كل يوم تستخدم OAuth. على سبيل المثال ، لنفترض أنك تتسوق لشراء عنصر وتجده على Etsy. كنت ترغب في شرائه ، ولكن المشكلة الوحيدة هي أنه ليس لديك حساب Etsy. في صفحة Etsy الرئيسية ، سترى خيارا لتسجيل الدخول باستخدام حسابك على Facebook أو Google. في هذه الحالة ، أنت مالك المورد ، و Etsy هو تطبيق العميل ، و Facebook أو Google هو واجهة برمجة التطبيقات ، أو خادم التفويض. الآن ، سيتعين عليك تزويد Etsy ببعض المعلومات الإضافية لشراء العناصر ، ولكن باستخدام مصادقة OAuth ، يتيح لك ذلك تسجيل الدخول إلى Etsy دون الحاجة إلى إنشاء كلمة مرور إضافية. اليوم ، أصبح تسجيل الدخول باستخدام Facebook أو Google منتشرا في كل مكان عبر الإنترنت ، فما هي فائدة OAuth حقا؟
- حماية خصوصيتك. يتيح لك استخدام OAuth منح موارد خاصة من موقع إلى آخر. يهدف OAuth إلى منحك إمكانية الوصول إلى أشياء معينة دون مشاركة هويتك.
- تجربة العملاء. في المثال المستخدم أعلاه ، قد يسمح استخدام بيانات Facebook الخاصة بك ل Etsy بتحسين تجربتك على تطبيقهم.
- مصادقة أقوى. يعد الاعتماد على نظام مصادقة أنشأته شركات أكبر ، مثل Facebook أو Google ، أسهل وأقل خطورة من إنشاء نظام داخلي.
بالإضافة إلى ذلك ، وعلى وجه التحديد للمطورين ، هناك مكتبات OAuth في مجموعة متنوعة من اللغات الشائعة ، بما في ذلك PHP و Java و Ruby و Python و .NET و JavaScript وغيرها الكثير. للحصول على القائمة الكاملة للغات المدعومة، تفضل بزيارة https://oauth.net/code/.
مراقبة واجهات برمجة تطبيقات OAuth 2.0 باستخدام Dotcom-Monitor
قد تتطلب واجهة برمجة التطبيقات الخاصة بك مصادقة OAuth 2.0 للسماح بمنح خدمات الويب الأخرى، مثل تطبيقات العميل، حقوق الوصول إلى موارد محددة على خدمتك عبر HTTP/S. يجب على استدعاء واجهة برمجة تطبيقات الخدمة الذي يستخدم OAuth 2.0 ، على الأقل ، اتباع الخطوات التالية:
- الحصول على رمز وصول واجهة برمجة التطبيقات.
- طلب بيانات مخصصة من الخدمة باستخدام رمز الوصول الممنوح للتطبيق.
باستخدام النظام الأساسي Dotcom-Monitor، يمكنك تكوين جهاز مراقبة متعدد المهام باستخدام مهمة HTTP/S. للاطلاع على أمثلة على البرامج النصية لمصادقة OAuth داخل النظام الأساسي Dotcom-Monitor، ولمعرفة المزيد حول كيفية تكوين جهاز مراقبة لمراقبة توفر واجهة برمجة تطبيقات الويب المستندة إلى OAuth وأدائها، اقرأ مقالة قاعدة المعارف حول مراقبة واجهات برمجة تطبيقات OAuth 2.0.