본문 바로가기

항해99

[항해99] WIL 24.04.07

BE 리프레시 토큰

저번주에 WIL 쓰는 것을 깜빡했는데, 소셜 로그인 구현을 완료하고 이번주에는 리프레시 토큰 구현을 했다.

저번주 내용에서 좀 짚고 넘어가고 싶었던 내용은 OAuth에 관한 이야기다.

OAuth와 OAuth2

OAuth(개방형 인증)와 OAuth 2.0은 서로 관련되어 있지만 인증 및 웹 리소스에 대한 액세스 권한 위임에 사용되는 별개의 프로토콜

  1. OAuth 1.0 대 OAuth 2.0: OAuth 1.0은 OAuth 프로토콜의 원래 버전인 반면, OAuth 2.0은 OAuth 1.0의 한계를 개선한 더 새롭고 포괄적인 프로토콜입니다.
  2. 복잡성과 단순성: OAuth 1.0은 일반적으로 OAuth 2.0보다 더 복잡한 것으로 간주됩니다. OAuth 2.0은 이전 버전에 비해 더 간단하고 유연하며 구현하기 쉽도록 설계되었습니다.
  3. 토큰 처리: OAuth 1.0은 주로 디지털 서명을 사용하여 토큰을 보호하는 반면, OAuth 2.0은 주로 인증 서버에서 발행한 토큰(예: 액세스 토큰 및 새로 고침 토큰)을 사용합니다.
  4. 보안: OAuth 2.0에는 OAuth 1.0에 비해 몇 가지 보안 개선 사항이 포함되어 있습니다. 예를 들어 OAuth 2.0에는 HTTPS, 토큰 만료 및 향상된 클라이언트 인증 메커니즘에 대한 지원이 도입되었습니다.
  5. 호환성: OAuth 2.0은 최신 웹 서비스 및 API에서 더욱 광범위하게 채택되고 지원됩니다. 많은 주요 기술 회사와 플랫폼이 OAuth 2.0으로 마이그레이션했거나 OAuth 1.0과 OAuth 2.0을 모두 지원합니다.
  6. 확장성: OAuth 2.0은 대규모 애플리케이션 및 최신 웹 개발 방식에 더 적합합니다. 다양한 유형의 클라이언트 및 사용 사례를 처리하기 위한 더 많은 옵션을 제공합니다.

OAuth 2.0 단순성, 유연성  광범위한 채택으로 인해 대부분의 새로운 애플리케이션  통합에 권장되는 선택이다. 그러나 일부 기존 시스템에서는 여전히 OAuth 1.0 사용하거나  OAuth 버전에 대한 지원이 필요할  있다.

 

이번주에 했던 리프레시 토큰은 개념을 잘못 알고 있어서 다시 개념정리를 하는 시간을 갖게 되었다.

refresh_token을 쓴다면, 보통 클라이언트에서 access token이 만료될때를 계산해서 refresh_token을 요청한다. 백엔드는 refresh token 발급 요청이 들어오면, 새로운 access token을 발급해주면 된다.

 

저번주 목표 달성 여부 

회색+밑줄 : 달성

검정 글씨 : 미달성

파란 글씨 : 반정도 달성

 

다음주 목표

1. 작성했던 코드들의 테스트 코드 작성해보기

2. 소셜 로그인과 리프레시토큰 리뷰해보기