Concept

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

t-opendocs 2025. 1. 13. 04:42
반응형

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


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

<1> 전체 플로우

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

<2> 상세

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

브라우저를 통해서 요청폼이 전달된다.

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

<2-2> API 호출

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

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

<2-3> 권한없음 처리

세션확인 불가시 RefreshToken으로 재인증을 시도한다.

Backend : 세션스토어를 확인해 유효하지 않은 토큰일 경우 에러를 리턴한다
  - httpStatus : 401 / 토큰확인 불가
Frontend : 브라우저를 통해 전달된(cookie) 인증토큰을 서버사이드에서 복호화 한 후 RefreshToken을 헤더에 포함시켜 재인증 API 호출

<2-4> 권한확인 성공 처리

AccessToken이 세션스토어에서 확인되고 복호화된 값이 정상일 경우 권한이 부여되어 서비스 로직이 수행된다.

Backend :
  - 서비스로직 수행
  - httpStatus : 2xx or 3xx / 서비스로직 성공
Frontend : 사용자에게 성공화면 제공
반응형