해당 포스팅은 다음을 참조했습니다.

https://baked-corn.tistory.com/29

 

OAuth2.0

OAuth2.0 안녕하세요. 오늘은 우리가 여러 웹서비스들을 이용할 때 자주 사용되는 요소 중 하나인 OAuth2.0에 대해 살펴보는 시간을 갖도록 하겠습니다. OAuth2.0이란 각종 웹, 모바일 어플리케이션에��

baked-corn.tistory.com

 

용어를 우선 정리하도록 하겠습니다.

 

용어 의미
Client 사용자가 사용하려는 우리가 만든 서비스
Resource Server 구글/페이스북같은 oauth 제공자, 어떤 사람의 자원(Resource)를 가지고 있음. 
Resource Onwer client의 서비스를 이용하는 사람, 이미 구글, 페이스북등에 가입된 사람으로 Resource server의 Resource owner이기 때문에 Resource owner라고 함.

 

 

1. 우리가 만든 Client가 Resource Server의 API를 사용한다고 Resource Server에 등록을 해야합니다(구글, 페이스북 등등..)

2. 그렇다면 Resource Server는 이 Client를 식별할 수 있는 Client ID와 Client Secret을 발급합니다.

3. 이 후 Resource Owner가 우리가 만든 Client에서 Google 계정으로 로그인을 통해 로그인 요청을 합니다

4. 구글에서는 로그인이 안되어있으면 로그인을 할 수 있는 화면을 보여주고, 로그인이 되어있으면 "내가 만든 웹사이트에서 너의 구글계정에 있는 어떤 정보(API정보)를 가져다 쓴다는데 동의할거야?" 라고 구글이 동의를 구하는 화면을 보여준다.

5. 사용자가 동의하면 구글은 바로 정보를 주지 않고 인증 코드를 웹사이트에 줍니다.

6. 인증코드를 받은 웹사이트에서는 기존에 웹서비스를 구글에 등록하면서 받은 client id(ID)와 client secret(PW), 그리고 인증코드를 보냅니다. (총 3개의 정보)

7. 그러면 구글이 올바른 클라이언트(웹사이트)의 요청이었음을 검증했기 때문에 access token을 줍니다.

8. 이제 사용자의 요청에 따라 구글 계정의 정보(API)가 필요하면 구글에 access token을 내밀면서 정보를 받아다가 쓸 수 있습니다.

+ Recent posts