پرش به محتوا

OAuth

از ویکی‌پدیا، دانشنامهٔ آزاد
نشان‌وارهٔ اآذ طراحی‌شده به دست کریس مسینا

OAuth (اُآت) یا احراز هویت باز ، یک قرارداد باز است که به کاربران خدمات اینترنتیِ بکارگیرندهٔ آن اجازه می‌دهد اطلاعات کاربری‌شان را بدون نیاز به دادن گذرواژه و نام کاربری، به صورت امن، با خدمات دیگر به اشتراک بگذارند. برخی از وب‌گاه‌های مهم از جمله توییتر از اُآذ پشتیبانی می‌کنند، و برای ارتباط از طریق آن کتابخانه‌هایی در زبان‌های برنامه‌نویسی مختلف وجود دارد.[۱] اآذ یک سازوکار کسب اجازه را معین می‌کند که از راه آن خدمات دیگر اجازه می‌یابند کارهای مشخصی را از طرف کاربر انجام دهند.[۲]

اُآذ اجازه‌ها را از راه توکن‌ها دسترسی[و ۱] صادر می‌کند. این قرارداد مشخص می‌کند که یک کارخواه (کلاینت)چگونه باید از کارساز (سرور)درخواست توکن دسترسی را نماید و چگونه در زمان لازم آن را ارائه نماید.[۳]

نسخهٔ ۱ اُآذ در اواخر سال ۲۰۰۶ میلادی ایجاد شد و هم‌اکنون نسخهٔ ۲ آن نیز ارائه شده است که با نسخهٔ یک سازگاری عقب‌رو ندارد.[۴]

مشکلات روش‌های قدیمی‌تر

[ویرایش]

در گذشته توسعه‌دهندگان نرم‌افزارهای کاربردی تحت وب مجبور بودند برای ارتباط با خدمات دیگر، مانند تقویم گوگل، از کاربران بخواهند نام کاربری و گذرواژهٔ خود را به آن‌ها بدهند و سپس از طریق استانداردی مانند اصالت‌سنجی برای دسترسی‌های اولیه، یا با کمک رابط برنامه‌نویسی نرم‌افزار مختص به همان خدمت، با آن ارتباط برقرار کنند. این کار علاوه بر مشکلات امنیتی، از دید توسعه‌دهندگان که مجبور بودند روش کار با رابط‌های برنامه‌نویسی مختلف را بیاموزند نیز دشوار بود. اآذ راه حلی برای غلبه بر این مشکلات است.[۵]

دادن مستقیم گذرواژه سرویس‌های دیگر دارای مشکلات زیر است:[۶]

  • نیاز به وجود اعتماد قوی کاربر به نرم‌افزار درخواست‌کنندهٔ گذرواژه
  • ایجاد مسئولیت سنگین برای توسعه‌دهندهٔ نرم‌افزار جهت حفظ و نگهداری امن گذرواژه و جلوگیری از لورفتن آن
  • بالا بردن آسیب‌پذیری کاربران در مقابل حملات فیشینگ
  • دادن دسترسی بیش از حد نیاز (در حالی که یک نرم‌افزار ممکن است تنها به بخش خاصی از اطلاعات حساب کاربری نیاز داشته باشد)
  • از بین رفتن دسترسی نرم‌افزار پس از تغییر گذرواژهٔ حساب توسط کاربر
  • عدم وجود راهی ساده برای گرفتن دسترسی یک نرم‌افزار خاص (با تغییر گذرواژه همهٔ نرم‌افزارهایی که از آن گذرواژه استفاده می‌کرده‌اند از کار خواهند افتاد)
  • ایجاد دشواری در پیاده‌سازی روش‌های ایمن‌سازی دیگر مانند استفاده از کپچا یا اصالت‌سنجی چندعاملی[و ۲]

حتی در روش‌های اصالت‌سنجی همبسته مانند اپن‌آی‌دی نیز همچنان نیاز است که کاربر گذرواژهٔ حساب اپن‌آی‌دی خود را در وب‌گاه واسطه وارد کند.

واژه‌نامه

[ویرایش]
  1. Access token
  2. Multi-factor authentication

منابع

[ویرایش]
  • Campesato, O.; Nilson, K. (2011). Web 2.0 Fundamentals: With AJAX, Development Tools, and Mobile Platforms. Web 2.0 Fundamentals with Ajax, Development Tools, and Mobile Platforms (به انگلیسی). Jones & Bartlett Learning. Retrieved 2013-11-26.
  • Lakshmiraghavan, B. (2013). Pro ASP.NET Web API Security: Securing ASP.NET Web API. The expert's voice in .NET (به فرانسوی). Apress. Retrieved 2013-11-26.
  • Boyd, R. (2012). Getting Started with OAuth 2.0. Oreilly and Associate Series (به انگلیسی). O'Reilly Media, Incorporated. Retrieved 2013-11-26.