프로그래밍/웹 개발
[SpringBoot] JWT 토큰 인증기능 구현 시 에러핸들링
제이콥J
2023. 8. 23. 17:19
Logger 라이브러리 import 에러
1. 문제
코드 작성 과정에서 Logger 라이브러리를 import 하지 못함
// 에러 발생 코드
import java.util.logging.Logger;
public class SecurityUtil {
private static final Logger logger = LoggerFactory.getLogger(SecurityUtil.class);
// 이하 생략
}
2. 해결
- 원인 : 유사 라이브러리를 잘못 불러옴
- 해결방안 : log4j 라이브러를 불러와 사용
// 해결된 코드
import org.slf4j.Logger;
public class SecurityUtil {
private static final Logger logger = LoggerFactory.getLogger(SecurityUtil.class);
// 이하 생략
}
Application 파일의 jwt와 logging 에러
1. 문제
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jwt.secret' in value "${jwt.secret}"
2. 해결
- 원인 : Application 파일에서 jwt와 logging의 위치를 spring 하단에 작성
- 해결방안 : Application 파일에서 jwt와 logging의 위치를 spring처럼 최상위에 작성
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
jwt.header=Authorization
jwt.token-validity-in-seconds=86400
logging.level.jacob.springbootjwttutorial=DEBUG
JWT 라이브러리 버전 에러
1. 원인
- jwt 라이브러리 버전이 맞지 않음
2. 해결
- 원인 및 해결방안 : SpringBoot 2.7 버전 사용 시 jwt 라이브러리 버전은 '0.11.5'가 되어야 함
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'
반응형