خانهوبلاگبرنامه نویسیپروتکل OAuth چیست؟
پروتکل OAuth چیست؟

پروتکل OAuth چیست؟

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

معرفی پروتکل OAuth

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

در واقع پروتکل 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 محسوب می شد. با این حال، برای توسعه دهندگانی که قصد دارند با نام های بزرگ دنیای اینترنت کار کنند، اجرای ایمن این پروتکل می تواند به یک مهارت کلیدی در آینده نه چندان دور تبدیل شود.

اشتراک گذاری در شبکه های اجتماعی
پایدار سامانه

شرکت پایدار سامانه، نشان‌دهنده رویایی جذاب و پر احساس در دنیای فناوری و خدمات دیجیتال است. ما با آتشی برافروخته از انگیزه و تعهد، تمام تلاش خود را به کار می‌گیریم تا برای مشتریان عزیزمان، تجربه‌ای بی‌نظیر از خدمات بی‌مانند را فراهم آوریم. تیم متخصص و پرانرژی ما، همیشه در حال جلب رضایت شما و بهبود پیوسته خدماتمان است. ما اعتقاد داریم که موفقیت ما به واسطه موفقیت شماست و همچنین با تکیه بر مفهوم برد-برد، مسیر مشترکی را با شما طی می‌کنیم. اینجاست که ما نه تنها شرکتی هستیم، بلکه یک خانواده‌ی پایدار و احساسی که در کنار شماست. ما برای پیوستن به مسیر موفقیت شما و ایجاد تفاوت واقعی در دنیای دیجیتال همراه شما هستیم.

دیدگاه شما

ثبت