본문 바로가기
프로그래밍/웹 개발

[SpringBoot] JWT 토큰 인증기능 구현 시 에러핸들링

by 제이콥J 2023. 8. 23.

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'

 

반응형

댓글