본문 바로가기
기타

[OAuth 2.0] 1. 역할과 등록

by soobaaaam 2022. 1. 19.
728x90

출처 : 생활코딩 강의

 

내가 만든 서비스인 mine, 그 서비스를 사용하는 user, 그리고 내가 만든 서비스가 연동하려고 하는 their가 있다.

user가 mine에 접속해서 their의 서비스들, 즉 구글 로그인 같은 것들을 사용하기 위해서는 mine이 user로부터 user가 사용하고 있는 their의 서비스에 접근할 수 있도록 허가를 받아야 한다.

 

그러기 위해선 mine이 user의 id와 password를 전달받아서 그것을 기억하고 있다가 their의 서비스에 접속할 때 이용한다. 이는 아주 간단하고 강력한 방법이지만 user의 id와 password가 유출되기 쉽기에 위험하다.


그렇기에 OAuth를 사용하면 안전하게 their의 서비스를 이용할 수 있다. 

 

출처 : 생활코딩 강의

their는 user의 요청을 받으면 그들의 id와 password 대신 accessToken이라는 것을 발급한다. 이 accessToken을 사용하여 mine은 their의 서비스 중 원하는 것들만 안전하게 이용할 수 있다.

 

 

1. 역할

 

출처 : 생활코딩 강의

위에서 말한 user, mine, their는 OAuth에서는 다음과 같이 바꾸어 말한다.

 

  • Resource Owner(user) : 자원의 소유자
  • Client(mine) : Resource Server에 접속해서 자원을 가져간다.
  • Resource Server(their) : 제어하고자 하는 자원을 갖고 있다.

 

 

2. 등록

 

Client가 Resource Server(이하 R.S)를 이용하기 위해선 사전에 승인을 받아야 하는데 이 과정을 register(등록)이라 한다.

 

각 서비스마다 등록 방법은 다르지만 세 가지 공통된 항목을 받는다. 

 

  • Client ID : 우리가 만들고 있는 애플리케이션의 식별자 (노출 가능)
  • Client Secret : 우리가 만들고 있는 애플리케이션의 비밀번호 (노출 불가능)
  • Authorized redirect URI : R.S가 권한을 부여하는 과정에서 우리에게 Authorized Code를 전달하는데, 그때 전달받는 주소.