Opendocs Logo

[Concept | Auth] 회원인증 플로우 정리 (5) - RefreshToken 운용

3계층 구조의 서버환경에서 RefreshToken 운용법을 정리한다.


> 작성일 : 2025-01-13
> Cloud : AWS


<1> 전체 플로우

IMG01

  • User(Browser) : 사용자가 브라우저를 통해 접근
  • Frontend : 프리젠테이션 (Client Tier)
  • Backend : 비즈니스 로직 (Application Tier)
  • Database : 데이터 (Data Tier)
  • SessionStore : 분산서버 환경에서 세션공유용 스토어



<2> 상세

<2-1> 사용자가 권한을 필요로 하는 정보 요청

1차 AccessToken 확인 불가시 RefreshToken으로 재인증 처리한다.

IMG02

Frontend
  - 사용자에게 처리중 화면을 제공

<2-2> API 호출

브라우저를 통해 전달된(cookie) 인증토큰을을 복호화 해서 RefreshToken을 해더에 넣어 호출한다.

IMG03

Frontend : 브라우저를 통해 전달된(cookie) 인증토큰을 서버사이드에서 복호화 한 후 RefreshToken을 헤더에 포함시켜 API 호출
Backend : SessionStore를 통해 권한 확인

<2-3> 에러 처리

토큰 복호화 불가시, 세션스토어에서 토큰 확인불가시, 중복된 로그인 제한 초과시 에러처리

IMG04

Backend : 세션스토어를 확인해 유효하지 않은 토큰일 경우 에러를 리턴한다
  - httpStatus : 401 / 토큰 복호화 불가
  - httpStatus : 403 / 토큰확인 불가
  - httpStatus : 500 / 토큰 처리시 에러
Frontend : 사용자에게 에러화면 제공

<2-4> 재인증 성공 처리

AccessToken / RefreshToken이 재발행 되고 암호화된 형태의 인증키가 쿠키에 재저장 된다.

IMG05

Backend :
  - 토큰 재발행
  - httpStatus : 200 / 재인증 성공
Frontend : 재인증 후 정보 재요청


Tags : 사용자 RefreshToken, 회원 RefreshToken 사용법, API RefreshToken, 세션스토어 RefreshToken



AD
ⓒ Opendocs. All Rights Reserved.