← 질문 목록
#7깊이 0

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

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

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

자체 포함 JWT를 서버 상태 없이 검증하면 사용자별 즉시 통제력이 줄어든다. 권한을 회수하거나 계정을 막아도 이미 발급한 토큰은 만료 전까지 통과할 수 있다.

먼저 JWT는 토큰 형식이고 세션은 로그인 상태를 관리하는 방식이다. 둘은 완전한 반대말이 아니다. 서버 세션의 식별자를 JWT에 담을 수도 있고, JWT 식별자와 취소 상태를 서버에 보관할 수도 있다.

기준서버 세션과 불투명 ID자체 포함 JWT의 로컬 검증
최신 권한요청마다 서버 상태를 확인 가능발급 때 넣은 claim이 만료까지 남음
개별 무효화세션 한 건을 지움취소 목록·introspection 같은 상태가 필요
서버 간 공유세션 저장소나 라우팅 필요검증 키·issuer·audience 정책 공유 필요

짧은 만료 시간과 리프레시 토큰 회전은 노출 시간을 줄인다. 개별 취소 목록이나 토큰 introspection을 더하면 즉시 차단할 수 있지만 매 요청에서 다시 서버 상태를 확인하게 된다. 서명 키 교체는 한 사용자만 정밀하게 끊는 수단이 아니다.

주의

JWT 서명은 claim을 숨기지 않는다. 암호화하지 않은 토큰의 내용은 가진 사람이 읽을 수 있다. 검증할 때는 서명뿐 아니라 허용 알고리즘, issuer, audience, 만료 시간을 함께 확인한다.

선택 기준은 서버 수보다 통제 시점이다. 여러 서비스가 중앙 조회 없이 같은 claim을 검증해야 하는지, 권한 변경을 몇 분 안에 반영해야 하는지, 토큰 탈취 때 어디까지 끊을지를 먼저 정한다.

추천 꼬리질문

0/300

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

관련 질문

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