인증을 위한 개방형 표준 프로토콜
Third-Party(Client)에게 리소스 소유자(User)를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공
Resource owner
리소스 소유자 (일반적으로 최종사용자)
Ex) 구글 네이버 등의 플렛폼 에서 리소스를 소유하고 있는 사용자
리소스 : 구글 캘린더 정보 , 네이버 블로그 포스트 작성 등
Resource Server(host protected resources)
리소스 서버 (호스트 보호 리소스)
Resource owner의 정보가 저장되어 있는 서버
Ex) 구글 네이버 등 리소스를 가지고 있는 서버
Authorization Server(AS)
권한 부여 서버
Resource Owner 인증 , Client에게 Access Tocken을 발급 하는 서버
Application 인증 : end-server device 보다 서버기반 application에 안정적
User 인증 : 일반적으로 enterprise identity provider(ldP) 와 같이 수행
client에서 resource server 로의 요청을 인증함
* Resource Server 와 Authorization server를 각각의 서버 또는 하나의 서버로 구성 할 수도 있음
Client
클라이언트 (리소스를 요청하는 어플리케이션)
Resource Server의 자원을 이용하려는 서비스 , 우리가 개발하는 서비스
Resource Server , Authorization server 입장에서는 우리가 개발하는 서비스가 Client
Resource Owner의 리소스를 사용하기위해 접근 요청을 하는 application
서버기반 application, end-server device에서 실행되는 application 모두 포함
Authorization Server는 인증, 권한 부여를 용이하게 하지만 , Authorization Server 라고 부르는 이유는 인증은 가끔 시작시에만 수행하기 때문.
Client Credentials Grant Type
Authorization Code Grant Type
Resource Owner Password Credentials Grant Type
Implicit
참조