بيت الأمان Oauth 2.0 101

Oauth 2.0 101

جدول المحتويات:

Anonim

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


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


إذا كنت متصلاً بالإنترنت ، فمن المحتمل أنك صادفت موقعًا يستخدم OAuth. بعد كل شيء ، تستخدم أكبر مواقع الويب ، مثل Facebook و Google و MySpace و Twitter و Photobcuket و Yahoo و Evernote و Vimeo ، معيار المصادقة هذا. تابع القراءة لمعرفة المزيد حول هذا المعيار ، ولماذا لا يزال الجيل القادم ، OAuth 2.0 ، يستخدم على أساس تجريبي نسبيًا.

ما هو برنامج OAuth 2.0؟

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


على سبيل المثال ، إذا لعبت لعبة Scramble مع الأصدقاء على جهاز iPad ، فيمكنك إدخال بيانات اعتماد Facebook الخاصة بك ، مما يسمح للعبة بالاطلاع على قائمة أصدقائك لمعرفة أي منهم يلعب اللعبة - ودعوة الآخرين للانضمام. أو يمكنك التواصل مع الأصدقاء على Google+ بناءً على من يتابعك على Twitter. هذا النوع من التطبيقات سهل للمستخدمين ، ولكنه يتضمن منح موقع أو برنامج إمكانية الوصول إلى معلومات عنك على موقع آخر.


يعمل OAuth 2.0 بشكل يشبه التجسد الأول لـ OAuth ، ولكنه معيار جديد تمامًا تمامًا. هذا يعني أنه غير متوافق مع 1.0 مع OAuth. الإصدار 2.0 تنظيف العديد من المشاكل مع OAuth الأصلي وإدخال تحسينات.


مع الحفاظ بشكل أساسي على بنية الإصدار الأول ، تم تحسين الإصدار 2.0 على:

  • المصادقة والتوقيعات. جعل OAuth 2.0 من السهل على شخص ما من جانب العميل تنفيذ البروتوكول.
  • تجربة المستخدم وطرق بديلة لإصدار الرموز
  • الأداء ، خاصة مع المواقع والخدمات الأكبر
يقدم إيران هامر شرحًا أكثر شمولًا حول الجديد في OAuth 2.0 ، والذي اعتاد أن يكون جزءًا من مجموعة عمل OAuth. يمكنك الوصول إليه هنا .. ومع ذلك ، لاحظ أن Hammer غادر مجموعة العمل في يوليو من عام 2012 ، مشيرًا إلى مشاكل تتعلق بالأمان عند تطبيق المعيار. نتيجةً لذلك ، على الرغم من أنه كان من المفترض الانتهاء من OAuth بحلول نهاية عام 2010 ، إلا أنها تظل معيارًا مقترحًا (في وقت كتابة هذا التقرير) ، على الرغم من أنها جزء من واجهة برمجة تطبيقات Graph API الخاصة بفيسبوك. تقوم Google و Microsoft أيضًا بتجربة دعم OAuth 2.0 في واجهات برمجة التطبيقات.

فوائد استخدام OAuth 2.0

أحد أفضل الأسباب لاستخدام OAuth هو أنه يجعل المشاركة أسهل كثيرًا. لقد اعتدنا بالفعل على تحميل الصور على Instagram ونشرها تلقائيًا على Twitter و Facebook. في الواقع ، هذا النوع من سهولة الاستخدام والتقاطع ما زال يجعل وسائل التواصل الاجتماعي جذابة للغاية.


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


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


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


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

كيف أتى 2.0 جاء ليكون

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


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


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

التحديات المقبلة؟

على الرغم من أن Google و Klout وأسماء كبيرة أخرى تنفذ تطبيق OAuth 2.0 ، فقد لا يزال هناك طريق صخري أمام هذا البروتوكول. هناك انتقادات من داخل مجتمع OAuth 2.0 ، بما في ذلك المخاوف بشأن أمان البروتوكول (يعتقد الكثيرون أنه أقل أمانًا من OAuth 1.0).


وفقًا لـ Hammer ، إذا استخدمه مبرمج مختص يتمتع بخبرة واسعة في أمان الويب ، فإن OAuth 2.0 يعمل. لسوء الحظ ، هناك أقلية صغيرة فقط من المطورين تتناسب مع الفاتورة


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


لكن الركل الحقيقي لكثير من الناس هو أن OAuth 2.0 لا يبدو أنه يقدم أي ميزة أو تحسن حقيقي على مستوى 1.0. يكتب Hammer أنه إذا كنت تنفذ 1.0 بنجاح ، فلا يوجد سبب للترقية إلى 2.0.


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

Oauth 2.0 101