JWT(Json Web Token)란 JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token 이다. 일반적으로 쿠키 저장소를 사용하여 JWT를 저장한다.
서버의 대용량 트래픽 처리를 위해 서버 2대 이상 운영이 필요할 수 있다.
Session 마다 다른 Client 로그인 정보를 가지고 있을 수 있다.
(예를 들어 Session1은 Client1, Client2, Client3 / Session2: Client4 / Session3: Client5, Client6)
만약 Client 1의 로그인 정보를 가지고 있지 않은 Sever2 나 Server3 에 API 요청을 하게되면 문제가 발생할 수 있다.
<해결 방법 >
1) Sticky Session: Client 마다 요청 Server 고정
2) 세션 저장소 생성하여 모든 세션을 저장
Session storage 가 모든 Client의 로그인 정보 소유하고 있기 때문에 모든 서버에서 모든 Client의 API 요청을 처리할 수 있다.
로그인 정보를 Server 에 저장하지 않고, Client 에 로그인 정보를 JWT 로 암호화하여 저장 → JWT 통해 인증/인가
모든 서버에서 동일한 Secret Key 소유한다.
Secret Key 통한 암호화 / 위조 검증 (복호화 시)