CS

OAuth 2.0 프레임워크

갈잃자 2024. 5. 22. 10:44

개요: Bearer 형태의 토큰에 대해 알아보다가 OAuth 2.0 프레임워크와 관련되어 있어서, 함께 알아봄

 

 

 

OAuth 프레임 워크란?

1. 새로운 웹 사이트를 사용할 때 구글, 네이버와 같은 소셜 계정으로 편리하게 로그인, 회원가입을 할 수 있는데, 이는 소셜 사이트에서 내 데이터 일부를 제 3자의 서비스와 공유해서 가능한 기능. 이런 다양한 서비스 사이에서 안전하게 고객 데이터를 주고받기 위해 OAuth 프레임워크가 탄생 (OAuth 프레임 워크 탄생목적)

 

2. 제 3자의 클라이언트에게 보호된 리소스를 제한적으로 접근하게 해주는 프레임워크

 

 

 

OAuth 1.0이 아닌 2.0인 이유?

1. 2010년 IETF에서 OAuth1.0을 발표했지만, 여러 문제로 2년안에 철회됨.

  • 구현이 복잡했음.
  • 모바일 애플리케이션에서 지원이 부족했음.
  • 인증을 위한 Access Token이 만료되지 않아서 보안에 취약했음 (2.0과의 가장 큰 변화)

 

 

 

OAuth 2.0 프레임워크

OAuth 1.0 문제점을 보안하기 위해 2012년에 OAuth 2.0 이 발표됨.

 

OAuth 2.0 프레임워크의 리소스 공유로직

  • 리소스 소유자: 사용자
  • 클라이언트: 사용자의 정보를 접근하는 제3자의 서비스
  • 인증 서버: 클라이언트의 접근을 관리하는 서버
  • 리소스 서버: 리소스 소유자의 데이터를 관리하는 서버

toss payments 개발자센터

 

1. 리소스 소유자가 클라이언트에게 인증을 하가함. (구글, 네이버등 소셜 계정에 로그인하는 과정) (이때 리소스 소유자는 클라이언트와 어떤 정보를 공유할 지 선택할 수 있음)

 

2. 동의가 확인되면 인증서버는 클라이언트에 Access Token과 Refresh Token을 발급함.

 

3. 클라이언트는 Access Token을 이용하여 리소스 서버에 보호된 데이터를 불러올 수 있음

 

 

 

추가적으로

보안문제로 인해 Access Token은 만료기간이 있는데, Access Token이 만료되기 전에 Refresh Token을 이용하여 Access Token을 재발급받을 수 있다. (만료기간이 끝나면 리소스 소유자는 다시 Access Token을 받기위해 소셜 로그인을 해야하는 번거로움이 있음)