معرفی پروتکل OAuth
بسیاری از اتومبیل های لوکس دارای کلید دستی هستند. این کلید مخصوصی است که به نگهدارنده پارکینگ وصل می کنید و بر خلاف کلید معمول خود، تنها می تواند وسیله نقلیه را در مسافت کوتاهی رانندگی کند در حالی که دسترسی به صندوق عقب و تلفن همراه داخلی را ممنوع می کند. صرف نظر از محدودیت های اعمال شده توسط کلید سرور، این ایده بسیار هوشمندانه است. شما می توانید با استفاده از کلید خصوصی به شخصی دسترسی محدودی به ماشین خود بدهید، در حالی که از کلید دیگری برای باز کردن قفل سایر موارد استفاده می کنید.
این ترتیبی است که دستورالعملهای مبتنی بر جامعه روش OAuth را در سال 2007 توضیح داد. در حالی که OAuth 2.0 یک پروتکل کاملاً جدید است، همان توصیف هنوز اعمال می شود، OAuth راهی برای اعطای دسترسی شخص ثالث به کاربران (و محدود است) دسترسی) به منابع بدون به اشتراک گذاشتن رمزهای عبور خود.
پروتکل چیست؟
پروتکل OAuth چیست؟
یکی از بهترین دلایل استفاده از OAuth این است که اشتراک گذاری را بسیار آسان می کند. ما قبلاً عادت کردهایم عکس ها را در اینستاگرام بارگذاری کرده و آنها را به طور خودکار در توییتر و فیس بوک ارسال کنیم. در واقع، این نوع سهولت استفاده و عرضی هنوز رسانههای اجتماعی را بسیار جذاب می کند.
اما این برای کاربران نهایی همه چیز نیست، OAuth بدین معنی است که دیگر نیازی به ایجاد اکانت ندارید. به عنوان مثال، اگر می خواهید در مورد مقالهای در یک سایت بخصوصی نظر بگذارید، می توانید از اعتبارنامه گوگل خود و یا اکانت فیس بوک یا توییتر خود برای این کار استفاده کنید، نه اینکه مجبور شوید در یک وب سایت خاص در یک حساب کاربری ثبت نام کنید. این برای سایتهایی که معمولا در آنها فعال نیستید یا ممکن است به آنها اعتماد نداشته باشید بسیار مناسب است. همچنین می تواند با اطمینان از داشتن هویت فیس بوک برای سایتها، به نفع سایتها باشد، که به احتمال زیاد آنها به دلیل هرزنامه به حالت تعلیق در می آیند.
OAuth همچنین به معنای گذرواژه های کمتر برای به خاطر سپردن است. بهترین گذرواژه برای خدمات مختلف وب سایت است. بنابراین به جای ذخیره رمز عبور دیگر و جدید، فقط باید از رمز عبور فیس بوک یا اکانت گوگل حود را برای دسترسی به سرویس استفاده کنید.
همچنین می توانید منابعی را که از طریق پروتکل OAuth به آنها دسترسی دارید محدود کنید. به عنوان مثال، هنگام انجام یک بازی در فیس بوک، می توانید تصمیم بگیرید که آیا بازی را برای شما روی دیوار فیس بوک اشتراک بگذارید یا نه.
اگر آنلاین هستید، احتمالاً با سایتی برخورد کردهاید که از OAuth استفاده می کند. به هر حال، بزرگترین وب سایتها مانند فیس بوک، گوگل، مای اسپیس، توییتر، یاهو و Vimeo از این استاندارد احراز هویت استفاده می کنند. برای آشنایی بیشتر با این استاندارد و اینکه چرا نسل بعدی، OAuth 2.0، هنوز به طور نسبی استفاده می شود، ادامه مطلب را بخوانید.

OAuth 2.0 چیست؟
ابتدا، باید بدانید که OAuth، به عنوان یک پروتکل، چه کاری انجام می دهد: OAuth اجازه می دهد تا یک API بین دو برنامه وب یا رومیزی ارتباط برقرار کند. در نتیجه، وب سایتها قادرند منابع حفاظت شده را با سایر وبسایتها و خدمات به اشتراک بگذارند.
به عنوان مثال، اگر با iPad با تبلت بازی می کنید، می توانید اطلاعات اکانت گوگل خود را وارد کنید، که به بازی اجازه می دهد به لیست دوستان شما نگاه کند تا ببیند کدام یک از آنها در حال بازی هستند و از دیگران برای پیوستن دعوت کنید. یا بر اساس افرادی که شما را در توییتر دنبال می کنند، می توانید با دوستان خود در واتساپ ارتباط برقرار کنید. این نوع برنامه برای کاربران آسان است، اما شامل دسترسی یک سایت یا برنامه به اطلاعات مربوط به شما در یک سایت دیگر است.
OAuth 2.0 بسیار شبیه به اولین تجسم OAuth است، اما این یک استاندارد کاملاً جدید است. این بدان معناست که با 1.0 با OAuth سازگار نیست. نسخه 2.0 بسیاری از مشکلات را با OAuth اصلی برطرف کرده و بهبودهایی را ایجاد کرده است.
در اصل با حفظ معماری نسخه اول، نسخه 2.0 در موارد زیر بهبود یافته است:
- احراز هویت و امضا. OAuth 2.0 پیاده سازی پروتکل را در سمت مشتری آسان کرد.
- تجربه کاربر و روشهای جایگزین برای صدور توکن
- عملکرد، به ویژه با سایت ها و خدمات بزرگتر
چگونه نسخه 2.0 به وجود آمد
کاملاً واضح است که OAuth پاسخی به فراخوان محاسبه ایمن و سهولت استفاده برای سرویس های مختلف وب است. از سوی دیگر، OAuth 2.0 از نیاز به پیچیدگی کمتر OAuth ناشی شد. اما کل ایده برای هر دو در واقع از OpenID بود.

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