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

من خلال خدمات تطبيقات قوقل للمؤسسات (Google Apps for Business ) وخدمات تطبيقات جوجل التعليمية (Google Apps for Education) يمكن للمشرفين استخدام بروتوكول "OAuth" ثنائي لتفويض المرجع على مستوى النطاق. عند تضمن تطبيق على مفتاح وسر عميل OAuth (بشكل يعادل تقريبًا اسم المستخدم وكلمة المرور لحساب يؤدي أحد الأدوار)، يُسمح له بالعمل كأي مستخدم في النطاق عند الدخول إلى واجهات برمجة التطبيقات لبيانات قوقل. وبخلاف بروتوكول "OAuth" الثلاثي، المستخدمون ليسوا بحاجة إلى الموافقة بشكل فردي، حيث يتم اتخاذ هذا القرار بالنيابة عنهم عن طريق المشرف. ويستطيع المشرفون إلغاء المفتاح وتغيير السر والتحكم في تحديد واجهات برمجة التطبيقات التي ستقبل تفويضًا على مستوى النطاق.

ويمكن لمجموعتين أساسيتين استخدام بروتوكول OAuth الثنائي، وقد تختلف عناصر التحكم في الدخول المطبقة إلى حد كبير في كل حالة.

أسباب ظهور البروتوكول 

ان المصادقة والتحقق من هوية المستخدم في تطبيقات المخدم-الزبون التقليدية تطلب من المستخدم ادخال بياناته السرية مثل اسم المستخدم وكلمة السر لكي تسمح له بالوصول إلى موارد محمية خاصة به، ولكن بعد أن بدأت هذه التطبيقات بالتضخم وظهرت الحاجة إلى تطبيقات وسيطة تستخدم API وكمثال على ذلك برنامج المحادثة الشهير Nimbuzz الذي اشتهر بشكل واسع منذ سنوات عدة، يسمح هذا التطبيق لك بالدمج بين حسابات المحادثة لديك مثل فيسبوك، غوغل، ياهو، الخ… عبر برنامج واحد، في البداية كان هذا البرنامج يطلب منك ادخال اسم المستخدم وكلمة السر لكل حساب لكي يتم تخزينها على سيرفر البرنامج والوصول إلى حساباتك عند الحاجة.لم يمانع أحد من منح هذا البرنامج بياناتهم السرية ربما بسبب شهرة البرنامج والثقة به، ولكن ماذا لو تعرض هذا البرنامج للاختراق وسيطر أحدهم على قاعدة البيانات الخاصة به؟ هل سيحصل على جميع حساباتنا؟ بالتأكيد نعم ولكن هذه الطريقة غير مستخدمة اليوم فنحن بأمس الحاجة لحل آمن.

التاريخ 

بروتوكول OAuth هو عبارة عن طريقة آمنة للتحقق من هوية المستخدمين دون الحاجة إلى بياناتهم السرية مثل كلمة السر أو سؤال الأمان. أول ظهور للبروتوكول كان في عام 2006 حيث قام بتطويره بلاين كوك Blaine Cook الذي كان يعمل في تطوير مصادقة OpenID الخاصة بتويتر، في ذلك الوقت لاحظ بلاين أن OpenID غير كافية لمصادقة مستخدمي تويتر لذلك بدأ بالبحث عن طريقة أخرى وبالتعاون مع كريس ميسينا Chris Messina ولد بروتوكول OAuth الإصدار الأول 1.0 .ثم تبعه بروتوكول OAuth 2.0 عبارة عن منصة مصادقة تمكن تطبيقات وسيطة من الوصول إلى بيانات محدودة بالمستخدم عبر خدمة تعتمد على بروتوكول بروتوكول نقل النص الفائق.

مميزات 

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

مبدأ العمل 

أولاً - يقوم الزبون بطلب مصادقة من السيرفر الذي يحوي على المصادر التي يرغب الزبون بالوصول إليها ( في مثالنا السابق الزبون هو تطبيق الNimBuzz)، والسيرفر هو الفيسبوك، والمصادر هي جهات الاتصال، تظهر رسالة من قبل فيس بوك لمستخدم برنامج الشات وهو المستخدم النهائي في هذه الحالة، تخبره بأن هذا البرنامج سيقوم بالوصول إلى الموارد المذكورة، في حال وافق المستخدم على ذلك ننتقل في عملية المصادقة إلى المرحلة التالية.
ثانياً - يستقبل برنامج المحادثة الموافقة على الوصول على البيانات.
ثالثاً- يطلب برنامج المحادثة من السيرفر الحصول على Token (وهي عبارة عن سلسلة محارف) ستستخدم هذه السلسلة بمثابة وسيلة مصادقة بين برنامج المحادثة و السيرفر، عندما يقوم برنامج المحادثة في المرات اللاحقة بعرض هذه الToken للسيرفر سيعلم السيرفر أن هذا البرنامج يحق له الوصول إلى الموارد المحددة والمتفق عليها مسبقاً.
رابعاً- سيتأكد السيرفر مرة أخرى بأن البرنامج حصل على موافقة المستخدم النهائي في الوصول إلى الموارد وبناء على ذلك سيرسل له الToken، و في حال -على سبيل المثال- طلب البرنامج من السيرفر Token للوصول إلى بيانات غير مسموح له بالوصول إليها مثل صور المستخدم ستفشل عملية الحصول إلى تلك البيانات.
خامساً- سيقوم البرنامج بطلب الوصول إلى بيانات محمية من السيرفر مثل جهات الاتصال عبر إرسال الToken إلى السيرفر.
سادساً- سيتأكد السيرفر أن هذه الToken صحيحة وأنها تسمح فعلا للبرنامج بالوصول إلى البيانات المذكورة و هي جهات الاتصال، بناء على ذلك سيتم إرسال جهات الاتصال إلى البرنامج.

وأخيراً لابد من التنويه إلى أن استخدام أي تطبيق وسيط يطلب من المستخدم الوصول إلى بيانات خاصة مثل فيسبوك، غوغل، تويتر، الخ... لا يستخدم بروتوكول OAuth هو تطبيق غير أمن ولا يجب استخدامه أبدا، إذ أنه مع وجود هذا البروتكول لايوجد أي سبب لتقديم بيانات المصادقة بأي شكل كان.

انظر أيضا 

 الهوية المفتوحة

مراجع 

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