← 질문 목록
#7깊이 0

JWT를 세션 대신 쓸 때 무엇을 잃는가?

인프라 · 보안심화인증·인가

즉시 무효화 능력을 잃는다. 서버가 상태를 갖지 않는다는 장점이 그대로 단점이 된다.

세션은 서버가 저장소를 들고 있으므로 지우면 그 순간 끝난다. JWT는 서명만 유효하면 통과한다. 막을 방법이 아예 없지는 않다. 취소 목록을 두거나 서명 키를 갈면 된다.

기준세션JWT
상태 보관서버가 들고 있다토큰 안에 들어 있다
즉시 무효화지우면 끝목록·키 교체를 따로 둬야 한다
서버 확장저장소 공유가 필요하다서버끼리 공유할 것이 없다

통상적인 대응은 수명을 짧게 가져가고 리프레시 토큰을 붙이는 것이다. 다만 리프레시 토큰은 결국 서버가 상태를 들고 관리해야 하므로, 무상태라는 원래 이점이 상당 부분 사라진다.

주의

저장 위치도 문제다. 로컬 스토리지는 XSS에 그대로 노출되고, 쿠키CSRF를 따로 막아야 한다. 어디에 둬도 공짜가 아니다.

판단 기준은 규모다. 서버가 여러 대이고 세션 공유 비용이 실제 부담일 때 JWT가 값을 한다. 단일 서비스에서 관성으로 고르면 잃는 쪽이 크다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

JWT를 세션 대신 쓸 때 무엇을 잃는가?