بروتوكول أوث

على سبيل التعريف، أوث بروتوكول تخويل قياسي مفتوح يتيح للجهات الخارجية الوصول إلى بيانات المستعمل بدون الحاجة إلى معرفة كلمة مرور المستعمل. وبدلاً من مشاركة المستعملين لكلمات مرورهم مع تطبيق مباشرةً، يعمل بروتوكول "OAuth" كمفتاح تشغيل محدد القدرات تستعمله التطبيقات للوصول إلى بيانات المستعمل والعمل بالنيابة عنه. وفيما يلي تفاصيل أوسع عن ذلك.
ومن ناحية أخرى، من خلال خدمات تطبيقات قوقل للمؤسسات (Google Apps for Business ) وخدمات تطبيقات جوجل التعليمية (Google Apps for Education) يمكن للمشرفين استخدام بروتوكول "OAuth" ثنائي لتفويض المرجع على مستوى النطاق. عند تضمن تطبيق على مفتاح وسر عميل OAuth (بشكل يعادل على وجه التقريب اسم المستعمل وكلمة المرور لحساب يؤدي أحد الأدوار)، يُسمح له بالعمل كأي مستعمل في النطاق عند الدخول إلى واجهات برمجة التطبيقات لبيانات قوقل. وبخلاف بروتوكول "OAuth" الثلاثي، المستعملون ليسوا بحاجة إلى الموافقة بشكل فردي، حيث يتم اتخاذ هذا القرار بالنيابة عنهم عن طريق المشرف. ويستطيع المشرفون إلغاء المفتاح وتغيير السر والتحكم في تحديد واجهات برمجة التطبيقات التي ستقبل تفويضًا على مستوى النطاق.
من جانب آخر، ويمكن لمجموعتين أساسيتين استخدام بروتوكول OAuth الثنائي، وقد تختلف عناصر التحكم في الدخول المطبقة إلى حد كبير في كل حالة.
مبدأ العمل
انظر كذلك
علاوةً على ذلك، سادساً- سيتأكد السيرفر أن هذه الToken صحيحة وأنها تسمح فعلا للبرنامج بالوصول إلى البيانات المذكورة و هي جهات الاتصال، بناء على ذلك سيتم إرسال جهات الاتصال إلى البرنامج.
ومن جهة أخرى، ثانياً - يستقبل برنامج المحادثة الموافقة على الوصول على البيانات.
علاوةً على ذلك، خامساً- سيقوم البرنامج بطلب الوصول إلى بيانات محمية من السيرفر مثل جهات الاتصال عبر إرسال الToken إلى السيرفر.
الهوية المفتوحة
وعلى صعيد آخر، ثالثاً- يطلب برنامج المحادثة من السيرفر الحصول على Token (وهي عبارة عن سلسلة محارف) ستستعمل هذه السلسلة بمثابة وسيلة مصادقة بين برنامج المحادثة و السيرفر، عندما يقوم برنامج المحادثة في المرات اللاحقة بعرض هذه الToken للسيرفر سيعلم السيرفر أن هذا البرنامج يحق له الوصول إلى الموارد المحددة والمتفق عليها مسبقاً.
وعلى صعيد آخر، رابعاً- سيتأكد السيرفر مرة أخرى بأن البرنامج حصل على موافقة المستعمل النهائي في الوصول إلى الموارد وبناء على ذلك سيرسل له الToken، و في حال -مثلًا- طلب البرنامج من السيرفر Token للوصول إلى بيانات غير مسموح له بالوصول إليها مثل صور المستعمل ستفشل عملية الحصول إلى تلك البيانات.
كذلك، أولاً - يقوم الزبون بطلب مصادقة من السيرفر الذي يحوي على المصادر التي يرغب الزبون بالوصول إليها ( في مثالنا السابق الزبون هو تطبيق الNimBuzz)، والسيرفر هو الفيسبوك، والمصادر هي جهات الاتصال، تظهر رسالة من قبل فيس بوك لمستعمل برنامج الشات وهو المستعمل النهائي في هذه الحالة، تخبره بأن هذا البرنامج سيقوم بالوصول إلى الموارد المذكورة، في حال وافق المستعمل على ذلك ننتقل في عملية المصادقة إلى المرحلة التالية.
من جانب آخر، وأخيراً لابد من التنويه إلى أن استخدام أي تطبيق وسيط يطلب من المستعمل الوصول إلى بيانات خاصة مثل فيسبوك، غوغل، تويتر، الخ... لا يستعمل بروتوكول OAuth هو تطبيق غير أمن ولا يجب استخدامه أبدا، إذ أنه مع وجود هذا البروتكول لايوجد أي سبب لتقديم بيانات المصادقة بأي شكل كان.
أسباب ظهور البروتوكول
كذلك، ان المصادقة والتحقق من هوية المستعمل في تطبيقات المخدم-الزبون التقليدية تطلب من المستعمل ادخال بياناته السرية مثل اسم المستعمل وكلمة السر لكي تسمح له بالوصول إلى موارد محمية خاصة به، ولكن بعد أن بدأت هذه التطبيقات بالتضخم وظهرت الحاجة إلى تطبيقات وسيطة تستعمل API وكمثال على ذلك برنامج المحادثة الشهير Nimbuzz الذي اشتهر بشكل واسع منذ سنوات عدة، يسمح هذا التطبيق لك بالدمج بين حسابات المحادثة لديك مثل فيسبوك، غوغل، ياهو، الخ... عبر برنامج واحد، في البداية كان هذا البرنامج يطلب منك ادخال اسم المستعمل وكلمة السر لكل حساب لكي يتم تخزينها على سيرفر البرنامج والوصول إلى حساباتك عند الحاجة.لم يمانع أحد من منح هذا البرنامج بياناتهم السرية ربما بسبب شهرة البرنامج والثقة به، ولكن ماذا لو تعرض هذا البرنامج للاختراق وسيطر أحدهم على قاعدة البيانات الخاصة به؟ هل سيحصل على جميع حساباتنا؟ بالتأكيد نعم ولكن هذه الطريقة غير مستعملة اليوم فنحن بأمس الحاجة لحل آمن.
التاريخ
من جهة ثانية، بروتوكول OAuth هو عبارة عن طريقة آمنة للتحقق من هوية المستعملين دون الحاجة إلى بياناتهم السرية مثل كلمة السر أو سؤال الأمان. أول ظهور للبروتوكول كان في سنة 2006 حيث قام بتطويره بلاين كوك Blaine Cook الذي كان يعمل في تطوير مصادقة OpenID الخاصة بتويتر، في ذلك الوقت لاحظ بلاين أن OpenID غير كافية لمصادقة مستعملي تويتر لذلك بدأ بالبحث عن طريقة أخرى وبالتعاون مع كريس ميسينا Chris Messina ولد بروتوكول OAuth الإصدار الأول 1.0 .ثم تبعه بروتوكول OAuth 2.0 عبارة عن منصة مصادقة تمكن تطبيقات وسيطة من الوصول إلى بيانات محدودة بالمستعمل عبر خدمة تعتمد على بروتوكول بروتوكول نقل النص الفائق.
مميزات
وفي هذا الصدد، إن استخدام البرتوكول في هذه الحالة لن يسمح لبرنامج المحادثة بالوصول إلى صورك الخاصة أو أي بيانات أخرى أو صلاحيات لا تريد مشاركتها ،بينما كان ذلك غير ممكن في طريقة المصادقة التقليدية.
وعلى صعيد آخر، بروتوكول OAuth عبارة عن طبقة حماية وسيطة تقوم بفصل بيانات المستعمل الخاصة عن بيانات المستعمل التي يريده التطبيق الوصول إليها ولتكن هذه البيانات مثلًا جهات الاتصال.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟