
jwt 토큰을 검증하는 과정에서

위 종류의 예외가 생긴다면 ?
유효하지 않은 토큰임을 알 수 있다.
그럼 어느 부분에서 정확히 예외가 생기는 지 궁금했다..
1. ExpiredJwtException → 토큰이 만료된 경우
✅ 발생 조건:
- JWT의 exp(만료 시간)가 현재 시간보다 이전이면 발생
✅ 발생 위치:

(key 자체의 문제는 없다)
2. SignatureException → 서명이 올바르지 않은 경우
✅ 발생 조건:
- setSigningKey(secretKey)에 설정한 비밀키와 다르게 서명된 토큰을 전달하면 발생
- JWT의 서명(Signature) 부분이 변조되었거나 조작된 경우
✅ 발생 위치:

3. MalformedJwtException → JWT 형식이 올바르지 않은 경우
4. UnsupportedJwtException → 지원되지 않는 JWT 형식일 경우

3,4 의 경우도 parseClaimsJws()에서 에러가 남을 알 수 있다.
5. 또 토큰의 빈값이거나 null
6. 필드 값이 현재보다 미래일 때 즉 아직은 사용불가인 토큰일 경우에 예외가 난다.

'프로젝트' 카테고리의 다른 글
| My Record - controller test (ObjectMapper) (0) | 2025.03.29 |
|---|---|
| My Record - doFilterInternal (0) | 2025.03.28 |
| My Record - jwt TokenProvider 테스트 오류 (0) | 2025.03.26 |
| My Record - spring Security 로그아웃 (0) | 2025.03.20 |
| My Record - Spring security - CSRF (0) | 2025.03.04 |