Resource Owner
: 사용자
Client
: 리소스 서버에서 제공해주는 자원을 사용하는 외부 플랫폼
Authorization Server
: 외부 플랫폼이 리소스 서버의 사용자 자원을 사용하기 위한 인증서버
ex) github server, facebook server, kakao server
Resource Server
: 사용자의 자원을 제공해주는 서버
Authorization Code Grant
: 권한 코드 승인 방식
Resource Owner
로부터 리소스 사용에 대한 허락을 의미하는 Authorization Code
를 얻어 Access Token
을 요청하는 방식Access Token
이 바로 클라이언트로 전달되지 않기 때문에 다른 방식보다 보안에 좋은 특징을 가지고 있다.Implicit Grant
: 암시적 승인 방식
Read Only
서비스에서만 사용하는 것이 좋다.Password Credentials Grant
: 비밀번호 자격 증명 방식
Client
에 Service Provider(Google, Facebook, etc…)
의 아이디와 비밀번호를 저장해두고 사용하는 방식Client
와 Server Provider
의 관계가 아주 긴밀한 관계일때만 사용하는 것이 좋다.Client Credentials Grant
: 클라이언트 자격 증명 방식
Client
와 Resource Owner
가 같을 때 사용하는 인증 방식Client
와 Resource Owner
가 같기 때문에 추가적인 인증이 필요하지 않고 Authorization Server
로부터 바로 토큰을 받을 수 있다.4.4.1. 승인 요청 및 응답
클라이언트 인증을 권한 부여로 사용하므로,
추가 승인 요청이 필요하지 않습니다.
4.4.2. 액세스 토큰 요청
클라이언트는 HTTP에서 UTF-8의 문자 인코딩과 함께 부록 B에 따라 "application/x-www-form-urlencoded" 형식을 사용하여 다음 매개변수를 추가하여 토큰 끝점에 요청합니다.
request entity-body:
grant_type
필수의. 값을 "client_credentials"로 설정해야 합니다(MUST).
scope
선택 과목. 다음에 설명된 액세스 요청의 범위
섹션 3.3.
클라이언트는 인증 서버를 다음과 같이 인증해야 합니다.
섹션 3.2.1에 설명되어 있습니다.