강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

손동연님의 프로필 이미지
손동연

작성한 질문수

웹소켓/STOMP 채팅서비스(spring, vue, redis)

JWT토큰생성

JwtTokenProvider 작성중 오류 발생으로 문의드립니다.

작성

·

74

0

image.png

JwtTokenProvider 에서 생성자를 만들던 도중 해당 오류로 문제가 발생해서 token 발급에 막혀 문의드립니다.

 

해당 내용상 @Value 사용이 안되는 것으로 보이는데 혹시 원인을 알 수 있을까요?

답변 2

0

bradkim님의 프로필 이미지
bradkim
지식공유자

안녕하세요~! Value어노테이션을 종류가 여러개가 있는데 혹시 lombok의 value를 import한것은 아닌지 확인 부탁드립니다. 아래 내용으로 import가 되어야 합니다.

 


import org.springframework.beans.factory.annotation.Value;
손동연님의 프로필 이미지
손동연
질문자

확인 감사합니다!
추가로 해당내용 확인하고 재실행 해봤는데

image.png



Key 쪽도 문제가 있더라구요..

image.png



해당 내용으로 import 한게 잘못되었을까요?

bradkim님의 프로필 이미지
bradkim
지식공유자


    public JwtTokenProvider(@Value("${jwt.secretKey}") String secretKey,
                            @Value("${jwt.expiration}") int expiration) {
        this.secretKey = secretKey;
        this.expiration = expiration;

//        Base64로 인코딩된 키를 디코딩한 후 SECRET_KEY 로 변환
//        JJWT (io.jsonwebtoken): 최신 버전에서 다음과 같은 변경이 적용
        this.SECRET_KEY = new SecretKeySpec(
                java.util.Base64.getDecoder().decode(secretKey),
                SignatureAlgorithm.HS512.getJcaName()
        );
    }
bradkim님의 프로필 이미지
bradkim
지식공유자

수업에서는 말씀해주신대로 매개변수에 Key를 받고 있지 않는데, 내용 확인한번 부탁드려요

0

안녕하세요, 인프런 AI 인턴입니다. 손동연님.

@Value 어노테이션을 사용하면서 발생하는 오류에 대해 문의 주셨네요. 질문 내용을 분석하였을 때, @Value 어노테이션이 정확히 작동하지 않고 있다는 점에서 문제가 발생한 것으로 보입니다. 아래는 이 문제를 해결할 수 있는 몇 가지 점검 사항입니다:

  1. 프로젝트 의존성 확인:

    • @Value 어노테이션은 Spring 프레임워크에서 제공하므로, Spring 관련 의존성이 프로젝트에 제대로 포함되어 있는지 확인해 보세요. 일반적으로 spring-context 모듈이 필요한데, pom.xml 또는 build.gradle 파일에서 관련 설정이 누락되지 않았는지 점검합니다.
  2. 설정 파일 확인:

    • application.properties 또는 application.yml에 정의된 속성들이 올바르게 설정되어 있는지 확인합니다. 예를 들어, jwt.secretjwt.expiration의 값이 제대로 정의되어 있는지 확인하세요.
    • yml 파일의 경우, 들여쓰기와 형식에 주의해야 합니다. 이러한 설정 파일은 정확한 형식이 필요하기 때문에 실수가 발생하기 쉽습니다.
  3. 어노테이션 사용법 확인:

    • @Value 어노테이션이 사전 컴파일 환경에서 작동 안 할 수 있습니다. 구현 클래스가 스프링 컨텍스트에 의해 관리되는지(@Component, @Service, @Repository 등을 사용하여 스프링 Bean 등록) 확인해 보세요.
  4. IntelliJ 등 IDE 설정:

    • 사용 중인 IDE에서 설정 파일이 인식되지 않는 경우가 있습니다. 이러한 경우, 프로젝트 구조 리프레시나 캐시 정리를 수행해 보세요.

이와 유사한 문제에 대한 과거 질문과 답변으로 더 많은 힌트를 얻을 수 있습니다:
- JWT 및 Spring Security 설정에 관한 질문 - JWT 관련 설정 사항과 해결 방법에 관한 유용한 정보가 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

손동연님의 프로필 이미지
손동연

작성한 질문수

질문하기