OAuth, 간단하게 알아보자

Open Authorization

 

 

대형 사이트로 대신 로그인하는 것.

대부분 잘 알려진 사이트로 로그인하는 것으로 알고 있을 것이다.

사실은 외부사이트에서 제공하는 API로 사용자의 정보를 받아와

서비스 운용에 사용할 때 쓰이는 표준이다.

 

그래서, 뭔데

사용자의 정보를 이미 가입된 외부사이트에서 받기 위해 일종의 통행권을 받아 저장하는 것.

 

자세히 말하자면,

잘 알려진 사이트로 구글을 예로 들겠다.

웹 사이트를 만든다고 하자.

우리 사이트는 일정관리하는 서비스를 제공한다.

어떤 사용자는 구글 캘린더에 일정을 기록하였고 이 일정으로 관리하고 싶어한다.

우리는 일정을 받기 위한 방법으로

사용자의 아이디와 비밀번호를 받을 수 있다.

사용자 대신 구글에 로그인해서 캘린더에 접근하는 것이다.

당연히 이 방법은 사용자 입장에서도 불안하고 구글 입장에서도 불쾌하다.

 

어떻게 하면

사용자의 정보로부터 무엇까지 우리가 봐도 되는지? (어떤 권한을 가져도 되는지?)

구글 아이디와 비밀번호 없이 구글에게 우리 존재를 알리고 통신할 수 있는지?

에 대한 방법이라고 보면 된다.

 

이해관계자

https://www.geeksforgeeks.org/workflow-of-oauth-2-0/

 

위 그림을 토대로 이해관계자를 알아보자.

Client: '우리 웹사이트', 일정관리 사이트

Resource owner: 일정관리 사이트를 이용하려는 사용자

Auth server: 우리 웹사이트에 토큰(통행권)을 발행해주는 곳, 이번 예시에서는 구글

Resource Server: 역시 구글. 다만 토큰을 발행해주는 곳이라고 생각하는 곳보다 필요한 정보를 요청했을 때 응답하는 API 서버라고 생각하자.

 

이해관계자를 통한 동작원리는 다음을 참고하자.

 

OAuth 동작 원리

OAuth 동작 원리 이전 포스팅에 이어서 OAuth의 동작원리를 알아보자. OAuth, 간단하게 알아보자 OAuth, 간단하게 알아보자 Open Authorization 대형 사이트로 대신 로그인하는 것. 대부분 잘 알려진 사이트

jujemu.tistory.com

 

 

 

 

'컴퓨터과학' 카테고리의 다른 글

OIDC, OpenID Connect 누구냐 넌  (0) 2023.07.20
OAuth 동작 원리  (0) 2023.07.07
도커란?  (0) 2023.06.26
HTTP 헤더란?  (0) 2023.06.11
API 요청에서 path, query, body의 차이점  (0) 2023.06.10