برنامه نویسی OAuth: رمزهای عبور را استفاده نکنید ، در عوض از این موارد استفاده کنید

افشای: پشتیبانی شما به حفظ سایت کمک می کند! ما برای برخی از خدماتی که در این صفحه توصیه می کنیم هزینه ارجاع دریافت می کنیم.


OAuth سیستمی است که به کاربران امکان می دهد دو برنامه مختلف را با یکدیگر به نمایندگی از کاربر برقرار کنند بدون اینکه به برنامه کاربری رمزعبور کاربر را بگویند. شما بدون شک بارها از این سیستم استفاده کرده اید ، اما ممکن است شما آن را نشناسید. به عنوان مثال ، برخی از سیستم های اظهار نظر به شما اجازه می دهند با حساب Facebook یا Google+ خود وارد شوید. این با OAuth انجام می شود.

چگونه OAuth کار می کند?

تصور کنید که یک وبلاگ وردپرس دارید و می خواهید هر بار که مقاله ای را منتشر می کنید ، به صورت خودکار یک اعلان را حذف کنید. بنابراین شما از افزونه WP به توییتر استفاده می کنید. شما به جای اینکه به افزونه رمز ورود توییتر خود بگویید ، از OAuth استفاده می کنید.

شما با گفتن WP به توییتر شروع می کنید که می خواهید با استفاده از حساب کاربری خود توییت کنید. بنابراین WP به توییتر به توییتر می رود و درخواست اجازه می کند. توییتر به WP به توییتر یک نشانه می دهد ، که بعداً به همراه دستورالعمل مراجعه به توییتر و اجازه درخواست ، به شما می دهد. پس از انجام این کار ، WP در توییتر می تواند توییت خود را برای شما ارسال کند.

تاریخچه مختصر OAuth

در سال 2006 ، توییتر در حال اجرای OpenID بود – یک سیستم گسترده که به کاربران اجازه می داد تا یک شناسه واحد داشته باشند که بتوانند از آنها برای ورود به حساب های مختلف در اینترنت استفاده کنند. اما دارای استانداردهای باز نبود كه اجازه می دهد API هیئت دسترسی ساخته شود. بنابراین آنها شروع به کار بر روی OAuth کردند که به توسعه دهندگان امکان می دهد برنامه هایی را ایجاد کنند که درخواست کنند و به جنبه های خاصی از وب سایت ها دسترسی پیدا کنند.

مشخصات اولیه OAuth 1.0 در سال 2007 منتشر شد ، اما تا سال 2010 رسمی نبود. اگرچه سیستم بسیار مفیدی بود و مورد استفاده گسترده قرار می گرفت ، اما برای موارد خاص از جمله استفاده از آن با دستگاه های تلفن همراه به خوبی طراحی نشده بود. بنابراین در سال 2012 ، OAuth 2.0 منتشر شد. این دو نسخه سازگار نیستند. اما OAuth 2.0 امن تر است و با “جریان های مجاز” برای انواع مختلف دستگاه ها از جمله تلفن و حتی وسایل طراحی شده است.

جنجال – جدال سرسختانه

اوران هامر یکی از اصلی ترین افراد درگیر ساخت OAuth 1.0 بود. او همچنین در OAuth 2.0 شرکت داشت ، اما کمی قبل از انتشار رسمی آن ، او با این پروژه شکست. و او از هر دو نسخه OAuth ناراضی بود (که می توانید در گفتگویی که او انجام دادید ببینید که برای کار بی خطر نیست) که او جایگزین خود را ایجاد کرد ، Oz.

بررسی اجمالی OAuth

قبل از تلاش برای اضافه کردن OAuth در برنامه های کاربردی خود ، ایده خوبی است که بتوانید یک نمای کلی از سیستم بدست آورید.

  • Hueniverse OAuth مقدمه: معرفی واضح اران هامر در OAuth 1.0.
  • OAuth for Dummies: چشم پرنده از OAuth 1.0 توسط Mark Trapp.
  • معرفی OAuth 2.0: مروری عالی از تفاوت های موجود بین نسخه های مختلف OAuth.
  • پیش نمایش آموزش 8 مرحله ای OAuth2: خلاصه ویدیو مختصر از OAuth با استفاده از PHP برای مثال.

شروع کار با OAuth

OAuth یک بستر توسعه نیست. این ابزاری است که شما به عنوان بخشی از برنامه های دیگر از آن استفاده خواهید کرد. به عنوان مثال ، شما نمی خواهید برنامه ای بنویسید که فقط به حساب Facebook کاربر دسترسی داشته باشد. به دلایلی می خواهید این کار را انجام دهید. بنابراین اگر این صفحه را می خوانید ، باید برنامه ای داشته باشید که به قابلیت های OAuth نیاز دارد تا مانند افزونه tweeting وبلاگ که در بالا در مورد آن صحبت کردیم ، اجرا شود..

مقدمه کلی

در اینجا چند معرفی کلی آورده شده است:

  • OAuth 2 Simplified: نمای کلی هارون پارکی از روند توسعه به معنای کلی.
  • مثالهای کدگذاری OAuth: مثالهای مختلفی در بسیاری از زبانهای مختلف.
  • کد نمونه سندها را بخوانید: نمونه کدهای عمومی و همچنین برخی از آنها برای خدمات خاص. شامل مثالهایی برای:
    • سطل
    • GitHub
    • گوگل
    • فیس بوک
    • لینکدین
    • تامبلر

خدمات خاص

به طور کلی ، استفاده از OAuth بستگی به خدمتی دارد که می خواهید به آن متصل شوید. اکثر سرویس ها تعداد نمایش ها و برنامه های افزودنی خاص خود را دارند. بنابراین در زیر آموزش های تعدادی از سرویس های محبوب را درج کرده ایم:

  • استفاده از OAuth With Twitter: معرفی کاملی درباره OAuth با مثال در تعدادی از زبان های مختلف.
  • یاهو! مثالهای کدگذاری OAuth: مثالهای OAuth با استفاده از API BOSS.
  • Google OAuth Consumer: کد PHP برای OAuth دو و سه پا.
  • احراز هویت OAuth2: با حساب Facebook وارد شوید.
  • Facebook Dialog OAuth Tutorial: یک مثال کامل با استفاده از PHP و Python.

کدگذاری پیشرفته OAuth

بعد از اینکه اصول اولیه OAuth را پایین آوردید ، چندین روش وجود دارد که می توانید به یادگیری خود ادامه دهید.

کتابها

اگر واقعاً می خواهید در مورد OAuth جدی بگیرید ، احتمالاً باید درباره آن کتابی بگیرید. تعدادی از آنها وجود دارد که مقدمه ای کامل در مورد آن ارائه می دهد.

  • شروع کار با OAuth 2.0 توسط رایان بوید: مقدمه ای بسیار کوتاه که اکثر جنبه های OAuth را شامل می شود ، از جمله بخشی در دستگاه های تلفن همراه.
  • OAuth 2.0: شروع به کار در امنیت API توسط ماتیاس بیگل: کتاب کوتاه دیگری که تأکید بر امنیت و تضاد OAuth با OpenID است.
  • مسترینگ OAuth 2.0 توسط چارلز بیهیس: معرفی کاملی با مثالهایی با استفاده از بزرگترین خدمات.
  • Advanced API Security: امنیت API با OAuth 2.0 ، OpenID Connect ، JWS و JWE توسط Prabath Siriwardena: یک کتاب کلی درباره امنیت که به نسخه های مختلف پروتکل های مختلف نگاه می کند.

انجمن های آنلاین

از نظر انجمن های عمومی آنلاین در مورد OAuth در دسترس نیست. به طور کلی ، انجمن ها روی خدمات خاص متمرکز هستند.

  • مقالات برچسب خورده Stack Overflow OAuth: سایت نهایی برای سوالات برنامه نویسی ، پر از هزاران دانشمند.
  • Getty Image API Forums: اطلاعات در مورد API Getty Images ، اما با اطلاعات مفید زیادی.
  • یاهو! مدل مجوز OAuth: دسترسی به Yahoo! شبکه توسعه از طریق ابزار جستجو.

ابزارهای OAuth

تعدادی از خدمات ابزاری برای تسهیل OAuth ارائه می دهند.

  • پروتکل OAuth 1.0: پروتکل اصلی.
  • OAuth 2.0: نسخه نهایی مشخصات و همچنین لیست کتابخانه های موجود.
  • استفاده از OAuth 2.0 برای دسترسی به API های Google: منبع عالی Google از جمله زمین بازی OAuth 2.0 است.

کتابخانه ها

برای لیست کاملی از کتابخانه ها به oauth.net مراجعه کنید. در اینجا موارد اضافی شامل OAuth 1.0 وجود دارد:

  • PHP.net OAuth: کتابخانه OAuth 1.0 شی گرا.
  • OAuth for Ruby: RubyGem برای اجرای هر دو سرویس دهنده OAuth و سرور.
  • کتابخانه OAuth2 C #: کتابخانه های C # بسیاری در دسترس است.
  • Oauth 1.0.1: کتابخانه پایتون برای OAuth 1.0.

پیش رفتن

از آنجا که OAuth به خودی خود یک هدف نیست بلکه ابزاری است که به شما امکان می دهد قدرت بیشتری به برنامه های خود بیفزایید ، احتمالاً با انجام این کار آن را یاد خواهید گرفت. ما برای شروع کار منابع زیادی را در اینجا ارائه داده ایم و به شما امکان می دهیم درون سیستم حفر شوید. نحوه استفاده از آن بستگی به شما دارد.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me