inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Dịch vụ trò chuyện WebSocket/STOMP (spring, vue, redis)

Tạo token JWT

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

95

ndn1536362

3 câu hỏi đã được viết

0

image.png

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

 

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

spring-boot websocket stomp-websocket pubsub vue-3

Câu trả lời 2

0

bradkim

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

 


import org.springframework.beans.factory.annotation.Value;

0

ndn1536362

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

image.png



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

image.png



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

0

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()
        );
    }

0

bradkim

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

0

communityai8509

안녕하세요, 인프런 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 관련 설정 사항과 해결 방법에 관한 유용한 정보가 포함되어 있습니다.

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

ERD 질문

0

54

2

StompHandler 관한 질문

0

79

2

리프레시 토큰은 알아서 구현하면 되는건가요??

0

79

2

cors, csrf 직접 구현

0

64

1

JWT 필터구현

0

96

2

강의 잘듣고 있습니다. 혹시 다음 강의 계획은 없으신가요?

0

57

1

STOMP 동작 과정 질문

0

48

1

chain.doFilter()

0

45

1

자바 21로 소스 작성해도 되나요?

0

60

2

메시지 브로커 선택에 관한 질문

0

64

2

WebSocket과 Spring Security 질문

0

81

2

추가 커스텀 구현 질문 있습니다.

0

59

2

connect와 동시에 구독하는데 구독 검증이 꼭 필요한가요?

0

97

2

저도 동일한 질문인데

0

78

3

token이 필요한 엔드포인트에 의도적으로 토큰 누락시 대처

0

67

2

수업자료가 왜 다 나눠져있나요?

0

78

2

메시지 전송 시 검증

0

61

2

JWT 생성 시 subject 설정에 대한 질문

0

156

3

StompHandler 질문 있습니다.

0

82

2

앱 서비스일 경우

0

82

2

웹소켓 서버 재배포시 고려해야 할 상황 질문

0

106

2

배포 오류 질문

0

123

2

/connect 경로에 대한 토큰 검증의 필요성

0

77

1

수강료가 갑자기 인상됬던데 ㅠ

0

130

1