본문 바로가기
OAuth 2.0

OAuth 2.0( 추가 작성 필요 )

by pms93 2024. 2. 21.

OAuth 2.0 이란? 

  다양한 플랫폼의 특정한 사용자 데이터에 접근하기 위해 제3자 클라이언트(우리의 서비스)가 사용자의 접근 권한을 위임(Delegated Authorization)받을 수 있는 표준 프로토콜.

 

  쇼핑몰 사이트, 메신저 등 다양한 사이트에서 특정 플랫폼의 회원 정보를 통해 별도 회원가입을 하지 않고 구글, 카카오, 네이버 등 유명 플랫폼 아이디로 로그인을 한다거나 내가(혹은 누군가)만든 서비스에서 구글의 메일을 확인 하는 등의 기능을 사용해본 적이 있을 것이다. 이 때 서비스와 특정 플랫폼의 상호 권한 인증을 하기 위한 것이 OAuth다.

 

 

OAuth 2.0 Protocol Flow

Authorization Server와 Resource Server는 공식문서상 별개로 구분되어 있지만, 별개의 서버로 구성할지, 하나의 서버로 구성할지는 개발자가 선택하기 나름

 

 

OAuth 2.0의 주체

  총 3가지의 주체가 존재한다.

 

1) Resource Owner

 - 사용자를 의미한다. 

 

2) Client

 - 내가(혹은 다른)만든 서비스

 

3) Authrorization Server / Resource Server

 - 플랫폼(Google, Naver, Kakao 등...)

 

  내가 만든 서비스의 입장에서 봤을 때 Resource Owner 또한 Client로 볼 수 있지만 플랫폼 서버와 함께 3자 입장에서 바라본다면 Client는 내가 만든 서비스가 된다. 어떻게 보면 플랫폼 서버나 Client 입장에서도 Resource Owner를 Client로 볼 수 있을 것 같은데 아니라고 하니 혼동하지 말자...

 

 

OAuth 2.0 등록

  OAuth를 등록하기 위해선 Client를 Resource Server에 등록해야 한다. 자세한 설명은 하단 사진 참조.

 

참조) https://hudi.blog/oauth-2.0/