OAuth 2.0은 사용자의 비밀번호를 직접 공유하지 않고도 제3자 애플리케이션에 제한된 권한을 위임할 수 있게 해주는 인가(Authorization) 프레임워크입니다. 예를 들어, 어떤 앱이 여러분의 Google 계정 정보에 접근하려 할 때, Google 비밀번호를 직접 넘기는 대신 해당 앱이 내 프로필과 이메일을 볼 수 있도록 허용하는 토큰을 발급하는 방식입니다.
중요한 점은 OAuth 2.0은 인가(Authorization) 프로토콜이지, 인증(Authentication) 프로토콜이 아니라는 것입니다. 인증의 경우, OpenID Connect(OIDC)가 OAuth 2.0 위에 얹어서 처리합니다.
OAuth 2.0에는 네 가지 주체가 등장합니다.
인가가 진행되는 대표적인 흐름은 아래와 같습니다.

client_id, redirect_uri, scope 등을 전달)client_secret을 함께 서버 백엔드에서 인가 서버로 보냄Authorization: Bearer <token> 헤더에 담아 리소스 서버에 API 호출