| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 |
- ios
- java
- RequestMethodNotSupported
- mybatis
- KafkaFlink
- ApacheFlink
- springboot예외처리
- mapper
- SpringBoot Security
- 400badrequest
- Spring
- springboot mybatis
- java17
- 백엔드개발
- SpringKafka
- SQL
- 실시간데이터처리
- ApacheKafka
- springboot
- VUE
- 405MethodNotAllowed
- springboot jwt
- SpringBoot에러
- RestControllerAdvice
- ControllerAdvice
- 맥북
- SpringBootKafka
- KafkaProducer
- 시스템설정
- HttpRequestMethodNotSupportedException
- Today
- Total
목록전체 글 (157)
생활기록부
Spring Boot JWT SignatureException 원인과 해결 방법Spring Boot에서 JWT 인증을 구현하다 보면 SignatureException 오류를 만날 수 있습니다.대표적으로 다음과 같은 형태입니다.io.jsonwebtoken.security.SignatureException:JWT signature does not match locally computed signature이 오류는 JWT에 포함된 Signature와 서버가 현재 Secret Key로 다시 계산한 Signature가 일치하지 않을 때 발생합니다.즉 토큰이 변조되었거나, JWT를 발급할 때 사용한 Key와 검증할 때 사용하는 Key가 다를 가능성이 높습니다.이번 글에서는 SignatureException을 직접 ..
Spring Boot JWT ExpiredJwtException 원인과 해결 방법Spring Boot에서 JWT 인증을 구현하다 보면 자주 만나는 예외 중 하나가 ExpiredJwtException입니다.대표적인 오류 메시지는 다음과 같습니다.io.jsonwebtoken.ExpiredJwtException:JWT expired ...이 오류는 JWT의 만료시간(exp)이 현재 시간보다 이전일 때 발생합니다.즉 JWT 자체의 형식이 잘못된 것이 아니라, 발급 당시에는 정상적인 토큰이었지만 시간이 지나 더 이상 사용할 수 없게 된 상태입니다.이번 글에서는 ExpiredJwtException을 직접 발생시켜보고, 왜 발생하는지 확인한 뒤 Spring Boot에서 어떻게 처리하는지 구현해보겠습니다.다음 내용을 ..
Spring Boot JWT Access Token과 Refresh Token 구현 방법Spring Boot에서 JWT 인증을 구현할 때 Access Token만 사용해도 인증 자체는 가능합니다.하지만 Access Token의 만료시간을 짧게 설정하면 사용자가 자주 로그인해야 하고, 반대로 너무 길게 설정하면 토큰이 탈취됐을 때 장시간 악용될 위험이 커집니다.이 문제를 보완하기 위해 많이 사용하는 방식이 Access Token + Refresh Token 구조입니다.기본 흐름은 다음과 같습니다.로그인 ↓Access Token 발급Refresh Token 발급 ↓Access Token으로 API 호출 ↓Access Token 만료 ↓Refresh Token으로 재발급 요청 ↓새 Access Token 발급..
Spring Security JWT 403 Forbidden 원인과 해결 방법Spring Boot에서 Spring Security와 JWT를 적용하다 보면 JWT 발급도 정상이고 인증도 성공했는데 API 호출 결과가 403 Forbidden으로 반환되는 경우가 있습니다.HTTP/1.1 403 ForbiddenJWT 관련 오류에서 401과 403을 혼동하는 경우가 많은데 두 상태코드는 의미가 다릅니다.간단하게 구분하면 다음과 같습니다.401 Unauthorized→ 인증되지 않음403 Forbidden→ 인증은 되었지만 해당 API를 사용할 권한이 없음예를 들어 JWT 인증 사용자의 권한이 USER인데 /api/admin/** API에서 ADMIN 권한을 요구한다면 Spring Security는 접근을 거..
