OAuth 2.0 동작 방식

zhzkzhffk·2022년 5월 20일
0

OAuth2란??

OAuth2(Open Authorization 2.0)은 인증을 위한 개방형 표준 프로토콜입니다.

이 프로토콜에서는 Third-Party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공합니다.

OAuth 2.0을 사용한다면 대부분의 로그인, 개인정보 관리 책임을 서드파티 애플리케이션 (Google, Facebook, Naver, Kakao 등)에게 위임할 수 있다.

OAuth2 주요 용어

구분설명
Recource Owner서드파티 애플리케이션 (Google, Facebook, Naver, Kakao 등)에 이미 개인정보가 Resource Server에 저장되어 있으며 Client가 제공하는 서비스를 이용하려는 사용자
ClientOAuth 2.0을 사용해 서드파티 로그인 기능을 구현할 애플리케이션 서버
Authorization Server권한을 부여해주는 API 서버
Client는 Authorization Server로 ID, PW를 넘겨 Authorization Code를 발급 받을 수 있다.
Client는 Authorization Server로 Authorization Code을 넘겨 Token을 발급 받을 수 있다.

시퀀스 다이어그램에는 refresh token이 없지만 보통 Authorization Server로 부터 Access Token(비교적 짧은 만료기간을 가짐) 과 Refresh Token(비교적 긴 만료기간을 가짐)을 함께 부여 받는다.

Access Token은 보안상 만료기간이 짧기 때문에 얼마 지나지 않아 만료되면 사용자는 로그인을 다시 시도해야한다. 그러나 Refresh Token이 있다면 Access Token은 만료될 때 Refresh Token을 통해 Access Token은 재발급 받아 재 로그인 할 필요없게끔 한다.

1~5 단계는 Authorization Code 발급 요청 URL을 통해 진행할 수 있습니다.
7~8 단계는 서비스에서 callback URL 을 통해 전달받은 Authorization Code를 사용하여 Access Token 요청 API를 통해 진행할 수 있습니다.
8 단계에서 발급받은 Access Token은 서비스에서 자체적으로 저장, 관리해야 합니다.
10~11 사용자의 서비스 요청 시 회원정보가 필요하다면 Access Token을 사용해 API를 호출할 수 있습니다.

profile
Backend Developer

0개의 댓글