반응형
3계층 구조의 서버환경에서 RefreshToken 운용법을 정리한다.
> 작성일 : 2025-01-13
> Cloud : AWS
<1> 전체 플로우
- User(Browser) : 사용자가 브라우저를 통해 접근
- Frontend : 프리젠테이션 (Client Tier)
- Backend : 비즈니스 로직 (Application Tier)
- Database : 데이터 (Data Tier)
- SessionStore : 분산서버 환경에서 세션공유용 스토어
<2> 상세
<2-1> 사용자가 권한을 필요로 하는 정보 요청
1차 AccessToken 확인 불가시 RefreshToken으로 재인증 처리한다.
Frontend
- 사용자에게 처리중 화면을 제공
<2-2> API 호출
브라우저를 통해 전달된(cookie) 인증토큰을을 복호화 해서 RefreshToken을 해더에 넣어 호출한다.
Frontend : 브라우저를 통해 전달된(cookie) 인증토큰을 서버사이드에서 복호화 한 후 RefreshToken을 헤더에 포함시켜 API 호출
Backend : SessionStore를 통해 권한 확인
<2-3> 에러 처리
토큰 복호화 불가시, 세션스토어에서 토큰 확인불가시, 중복된 로그인 제한 초과시 에러처리
Backend : 세션스토어를 확인해 유효하지 않은 토큰일 경우 에러를 리턴한다
- httpStatus : 401 / 토큰 복호화 불가
- httpStatus : 403 / 토큰확인 불가
- httpStatus : 500 / 토큰 처리시 에러
Frontend : 사용자에게 에러화면 제공
<2-4> 재인증 성공 처리
AccessToken / RefreshToken이 재발행 되고 암호화된 형태의 인증키가 쿠키에 재저장 된다.
Backend :
- 토큰 재발행
- httpStatus : 200 / 재인증 성공
Frontend : 재인증 후 정보 재요청
반응형
'Concept' 카테고리의 다른 글
[Concept | Auth] 회원인증 플로우 정리 (4) - AccessToken 운용 (0) | 2025.01.13 |
---|---|
[Concept | Auth] 회원인증 플로우 정리 (3) - 회원로그인 (SignIn) (0) | 2025.01.13 |
[Concept | Auth] 회원인증 플로우 정리 (2) - 회원확인 (Verify) (0) | 2025.01.12 |
[Concept | Auth] 회원인증 플로우 정리 (1) - 회원가입 (SignUp) (0) | 2025.01.10 |
[Concept | DevOps] 도입 (0) | 2025.01.06 |