OAuth, 간단하게 알아보자
Open Authorization
대형 사이트로 대신 로그인하는 것.
대부분 잘 알려진 사이트로 로그인하는 것으로 알고 있을 것이다.
사실은 외부사이트에서 제공하는 API로 사용자의 정보를 받아와
서비스 운용에 사용할 때 쓰이는 표준이다.
그래서, 뭔데
사용자의 정보를 이미 가입된 외부사이트에서 받기 위해 일종의 통행권을 받아 저장하는 것.
자세히 말하자면,
잘 알려진 사이트로 구글을 예로 들겠다.
웹 사이트를 만든다고 하자.
우리 사이트는 일정관리하는 서비스를 제공한다.
어떤 사용자는 구글 캘린더에 일정을 기록하였고 이 일정으로 관리하고 싶어한다.
우리는 일정을 받기 위한 방법으로
사용자의 아이디와 비밀번호를 받을 수 있다.
사용자 대신 구글에 로그인해서 캘린더에 접근하는 것이다.
당연히 이 방법은 사용자 입장에서도 불안하고 구글 입장에서도 불쾌하다.
어떻게 하면
사용자의 정보로부터 무엇까지 우리가 봐도 되는지? (어떤 권한을 가져도 되는지?)
구글 아이디와 비밀번호 없이 구글에게 우리 존재를 알리고 통신할 수 있는지?
에 대한 방법이라고 보면 된다.
이해관계자
위 그림을 토대로 이해관계자를 알아보자.
Client: '우리 웹사이트', 일정관리 사이트
Resource owner: 일정관리 사이트를 이용하려는 사용자
Auth server: 우리 웹사이트에 토큰(통행권)을 발행해주는 곳, 이번 예시에서는 구글
Resource Server: 역시 구글. 다만 토큰을 발행해주는 곳이라고 생각하는 곳보다 필요한 정보를 요청했을 때 응답하는 API 서버라고 생각하자.
이해관계자를 통한 동작원리는 다음을 참고하자.
'컴퓨터과학' 카테고리의 다른 글
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 |