반응형
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 : 사용자에게 성공화면 제공
반응형
'Concept' 카테고리의 다른 글
[Concept | Auth] 회원인증 플로우 정리 (5) - RefreshToken 운용 (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 |