برمجة OAuth: لا تتعامل مع كلمات المرور ، استخدمها بدلاً من ذلك

إفشاء: يساعدك دعمك في الحفاظ على تشغيل الموقع! نحصل على رسوم إحالة لبعض الخدمات التي نوصي بها في هذه الصفحة.


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

كيف يعمل OAuth?

تخيل أن لديك مدونة WordPress وتريدها أن تغرد تلقائيًا إعلانًا في كل مرة تنشر فيها مقالة. لذلك يمكنك استخدام البرنامج المساعد WP إلى Twitter. بدلاً من إخبار المكون الإضافي بكلمة مرور Twitter ، فإنك تستخدم OAuth.

تبدأ بإخبار WP إلى Twitter أنك تريد أن ينشر تغريدات باستخدام حسابك. لذا يذهب WP إلى Twitter إلى Twitter ويطلب الإذن. يعطي Twitter WP إلى Twitter رمزًا مميزًا ، ثم يعطيك بعد ذلك إلى جانب التعليمات للانتقال إلى Twitter وتفويض الطلب. بمجرد القيام بذلك ، يمكن لـ WP to Twitter نشر تغريدات لك.

تاريخ موجز لـ OAuth

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

تم إصدار المواصفات الأولية ، OAuth 1.0 ، في عام 2007 ، لكنها لم تكن رسمية حتى عام 2010. على الرغم من أنه كان نظامًا مفيدًا للغاية وتم استخدامه على نطاق واسع ، إلا أنه لم يكن مصممًا بشكل جيد لاستخدامات معينة بما في ذلك استخدامه مع الأجهزة المحمولة. لذلك في عام 2012 ، تم إصدار OAuth 2.0. الإصداران غير متوافقين. ولكن بروتوكول OAuth 2.0 أكثر أمانًا ومصمَّم “بتدفقات التفويض” لأنواع مختلفة من الأجهزة بما في ذلك الهواتف وحتى الأجهزة.

الجدل

كان Eran Hammer أحد الأشخاص الرئيسيين المشاركين في تطوير OAuth 1.0. كما شارك في OAuth 2.0 ، ولكن قبل وقت قصير من إطلاقه الرسمي ، خرج عن المشروع. وكان غير راضٍ عن نسختين من OAuth (التي يمكنك رؤيتها في حديث أعطاه غير آمن للعمل) لدرجة أنه ابتكر بديله الخاص ، Oz.

نظرة عامة على OAuth

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

  • مقدمة Hueniverse OAuth: مقدمة Eran Hammer الواضحة إلى OAuth 1.0.
  • OAuth for Dummies: عرض عين الطائر لـ OAuth 1.0 بواسطة Mark Trapp.
  • تقديم OAuth 2.0: نظرة عامة ممتازة على الاختلافات بين الإصدارات المختلفة من OAuth.
  • معاينة OAuth2 في 8 خطوات تعليمية: نظرة عامة موجزة بالفيديو عن OAuth باستخدام PHP للحصول على أمثلة.

البدء باستخدام OAuth

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

مقدمة عامة

فيما يلي بعض المقدمات العامة:

  • مبسط OAuth 2: نظرة عامة لآرون باريكي على عملية التطوير بشكل عام.
  • أمثلة على ترميز بروتوكول OAuth: أمثلة متنوعة بالعديد من اللغات المختلفة.
  • اقرأ رمز عينة المستندات: نماذج التعليمات البرمجية العامة بالإضافة إلى بعض الخدمات المحددة. يتضمن أمثلة لما يلي:
    • Bitbucket
    • جيثب
    • جوجل
    • موقع التواصل الاجتماعي الفيسبوك
    • ينكدين
    • نعرفكم

خدمات محددة

بشكل عام ، يعتمد استخدام OAuth على الخدمة التي تريد الاتصال بها. معظم الخدمات لها المراوغات والتمديدات الخاصة بها. لذلك أدرجنا أدناه دروسًا لعدد من الخدمات الشائعة:

  • استخدام OAuth مع Twitter: مقدمة شاملة لـ OAuth مع أمثلة بعدة لغات مختلفة.
  • ياهو! أمثلة على ترميز OAuth: أمثلة OAuth باستخدام واجهة برمجة تطبيقات BOSS.
  • عميل Google OAuth: رمز PHP لبروتوكول OAuth الثنائي والثالث.
  • مصادقة OAuth2: قم بتسجيل الدخول باستخدام حساب Facebook.
  • دروس OAuth Dialog: مثال شامل باستخدام PHP و Python.

ترميز OAuth المتقدم

بعد الحصول على أساسيات OAuth ، هناك عدد من الطرق التي يمكنك مواصلة التعلم بها.

كتب

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

  • بدء استخدام OAuth 2.0 بواسطة Ryan Boyd: مقدمة قصيرة جدًا تغطي معظم جوانب OAuth ، بما في ذلك قسم على الأجهزة المحمولة.
  • OAuth 2.0: الشروع في أمان API بواسطة Matthias Biehl: كتاب قصير آخر يؤكد على الأمان ويقارن OAuth مع OpenID.
  • إتقان OAuth 2.0 من Charles Bihis: مقدمة شاملة مع أمثلة تستخدم أكبر الخدمات.
  • أمان API المتقدم: تأمين واجهات برمجة التطبيقات مع OAuth 2.0 و OpenID Connect و JWS و JWE بواسطة Prabath Siriwardena: كتاب عام عن الأمان يبحث في الإصدارات المختلفة من البروتوكولات المختلفة.

المنتديات على الإنترنت

لا يتوفر الكثير من حيث المنتديات العامة عبر الإنترنت بخصوص OAuth. بشكل عام ، تركز المنتديات على خدمات محددة.

  • Stack Overflow OAuth المقالات الموسومة: الموقع النهائي لأسئلة البرمجة ، المليئة بالعديد من الأشخاص المطلعين.
  • منتديات Getty Image API: معلومات حول واجهة برمجة تطبيقات Getty Images ، ولكن مع الكثير من المعلومات المفيدة.
  • ياهو! نموذج تفويض OAuth: الوصول إلى Yahoo! شبكة التنمية من خلال أداة البحث.

أدوات OAuth

يوفر عدد من الخدمات أدوات لتسهيل بروتوكول OAuth.

  • بروتوكول OAuth 1.0: البروتوكول الأصلي.
  • OAuth 2.0: النسخة النهائية من المواصفات بالإضافة إلى قائمة المكتبات المتاحة.
  • استخدام OAuth 2.0 للوصول إلى Google APIs: مورد Google الممتاز بما في ذلك OAuth 2.0 Playground.

مكتبات

انظر oauth.net للحصول على قائمة كاملة بالمكتبات. إليك بعض الإضافات بما في ذلك بعضها لـ OAuth 1.0:

  • PHP.net OAuth: مكتبة OAuth 1.0 الموجهة للكائنات.
  • OAuth for Ruby: RubyGem لتنفيذ كل من عملاء وخوادم OAuth.
  • مكتبات OAuth2 C #: هناك العديد من مكتبات C # المتاحة.
  • Oauth 1.0.1: مكتبة Python لـ OAuth 1.0.

للمضي قدما

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map