OAuth چارچوبی برای واگذاری دسترسی محدود به یک برنامه یا سرویس ثالث است، برای مثال، کاربر اجازه میدهد یک برنامه به بخشی از اطلاعات حساب او دسترسی داشته باشد، بدون آنکه گذرواژه خود را در اختیار آن برنامه بگذارد.
OAuth بهتنهایی پروتکل احراز هویت کاربر نیست. برای ورود و تشخیص هویت معمولاً از OpenID Connect در کنار OAuth استفاده میشود.
مثالی از مسیر اجرای برنامه
OAuth به برنامه اجازه میدهد با مجوز کاربر به منابع یک سرویس دیگر دسترسی محدود بگیرد، بدون اینکه گذرواژه اصلی کاربر را دریافت کند. OAuth 2.0 خود پروتکل احراز هویت کامل نیست.
مفاهیم نقشها در OAuth
Resource owner -> Client -> Authorization server -> Resource server
Authorization Code + PKCE is common for public clients.
OAuth 2.0 چارچوب مجوزدهی است و لزوماً هویت کاربر را برای کلاینت اثبات نمیکند. برای Login مبتنی بر هویت، OpenID Connect روی OAuth استفاده میشود.