JWT secret key 보안문제 해결

스브코·2022년 3월 16일
0

thandbag 코드리뷰

목록 보기
2/2

현재 프로젝트에 jwt secret key가 이렇게 노출되어 있다.

public class JwtTokenUtils {
    
    ...생략...

    public static final String CLAIM_EXPIRED_DATE = "EXPIRED_DATE";
    public static final String CLAIM_USER_NAME = "USER_NAME";
    public static final String JWT_SECRET = "thandbag_!@#$%";
    
    ...생략...

secret key를 감추려면 application.properties파일에서 민감 정보를 분리하여 Properties 파일로부터 정보를 읽어드리도록 해주어야한다.


방법1

@value API 사용

  1. application.properties의 데이터를 불러올 클래스에 @Component를 붙여 Spring Bean으로 등록한다.
@Component
public class JwtTokenUtils {
  1. @Value 어노테이션에 application.properties에서 작성한 key를 인식시킨다.
@Value("{jwt.secret}")
public String jwtSecret;

방법2

Environment API 사용

  1. Environment를 @Autowired로 등록한다.
@Autowired
private Environment environment;
  1. getProperty() 메소드를 사용하여 porperties의 키값을 읽어온다.
environment.getProperty("jwt.secret")
profile
익히는 속도가 까먹는 속도를 추월하는 그날까지...

0개의 댓글