목차

Oauth 2.0은 무엇인가?


자신이 소유한 리소스에 소프트웨어 어플리케이션이 접근할 수 있도록 허용해줌으로써 접근 권한을 위임해주는 프로토콜이다. 즉 애플리케이션이 리소스 소유자에게 리소스에 대한 접근 권한을 요청하고, 요청 결과로 전달받은 토큰을 이용해 애플리케이션이 해당 리소스에 접근하는 프로토콜이다.

Oauth 2.0 스펙에는 다음과 같이 정의되어 있다.

Oauth2.0 인가 프레임워크는 리소스 소유자를 대신해 HTTP 서비스와 리소스에 대한 접근 요청 승인을
조정하거나 리소스 소유자를 대신해 서드파티 애플리케이션에게 리소스에 대한 접근을 허용해주는 방식
으로 HTTP 서비스에 대한 서드파티 애플리케이션의 접근을 가능하게 해준다.

좀 더 풀어 설명하자면, 인가 프레임워크로서 OAuth는 시스템의 어떤 구성 요소가 다른 시스템의 어떤 구성요소에 대한 접근 권한을 얻을 수 있게 해주는 것이다. 특히, Oauth의 세계에서 클라리언트 애플리케이션은 리소스 소유자를 대신해 리소스 소유자의 보호된 리소스에 대한 접근 권한을 얻길 원한다.

다음은 지금까지 언급한 OAuth의 구성원 들이다.

Oauth는 Oauth에 스펙에 정의된 엑세스 토큰을 얻기 위한 방법 프로토콜을 Oauth라고 간주한다.

OAuth2.0 이전 보안 문제 그리고 장단점


OAuth2.0 프로토콜의 개요: 토큰 획득과 사용