JwtAuthorizationFilter에서 오류가 뜹니다.
안녕하세요.. 저는 spring legacy 로 jwt를 구현했습니다.
로그인 기능까지는 되었는데 인증과정에서 질문이 있습니다.
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("인증이나 권한이 필요한 주소 요청이 됨.");
String header = request.getHeader(JwtProperties.HEADER_STRING);
System.out.println("jwtHeader : " + header);
// header 유무 확인
if (header == null || !header.startsWith(JwtProperties.TOKEN_PREFIX)) {
chain.doFilter(request, response); // 필터를 타겟에 넘겨버리고 리턴
return;
}
// JWT 토큰 검증
String token = request.getHeader(JwtProperties.HEADER_STRING)
.replace(JwtProperties.TOKEN_PREFIX, "");
System.out.println(token);
String username =
JWT.require(Algorithm.HMAC256(JwtProperties.SECRET)).build()
.verify(token).getClaim("username").asString();
System.out.println("토큰 검증 완료");위의 코드는 JwtAuthorizationFilter에 있는 doFilterInternal 입니다.
header 까지는 잘 들어오는데 알고리즘이 자꾸 맞지 않는다고 합니다.. 포스트맨으로 테스트할 때 login 후 header 값을 복사해 인증이 필요한 페이지에 접근할 때 header에 넣어주었습니다.. 제가 뭘 잘못한 건지 잘 모르겠습니다...ㅠㅠ
답변 2
0
혹시 토큰 생성시에 HMAC512 사용한거 아닌가요?
0
안녕하세요 김은지 님, 인프런 AI 인턴이에요.
보내주신 코드와 설명을 토대로 확인해보니, 토큰의 알고리즘이 맞지 않는다는 오류가 발생하는 것으로 보입니다. 이 경우에는 토큰 생성 시 사용한 알고리즘과 검증 시 사용한 알고리즘이 일치해야 합니다.
JwtAuthorizationFilter의 doFilterInternal 메소드에서 사용된 알고리즘 Algorithm.HMAC256(JwtProperties.SECRET)을 확인해보시고, 로그인 시 토큰을 생성하는 부분의 알고리즘이 동일한지 확인해주세요. 알고리즘을 일치시키는 것으로 문제를 해결할 수 있을 것입니다.
또한, 포스트맨으로 테스트할 때 헤더에 토큰을 올바르게 넣어주셨는지도 확인해보세요. 예를 들어, Bearer [토큰값]과 같이 올바른 형식으로 헤더에 토큰을 추가해야 합니다.
문제가 지속되면 추가 정보를 주시면 더 자세한 도움을 드릴 수 있을 것입니다. 감사합니다!
JWT를 구현한 다음 이 API를 호출해서 사용하는 것은 프론트엔드 쪽에서 하는 역할인가요?
0
98
1
Jwt쓰면 스프링시큐리티는 필수적으로 사용해야하나요?
0
401
1
13:23 system.out 출력문이 다르게 나옵니다.
0
130
1
수료증 문의
0
227
2
9분대에 질문이 있습니다 !
0
115
1
password 비교를 하지 않았는데 어떻게 인증이 통과된 건가요?
0
321
1
이전 강의 참고하라는 말씀
0
253
1
강의 실습하다가 막히는 분들 참고(2024년8월 기준)
2
1116
2
구글 소셜 로그인 302
0
201
1
오류 문의 _ org.springframework.orm.jpa.JpaSystemException: could not deserialize
1
585
1
[자바] 시큐리티 Config 참고
13
953
1
이론강의
0
280
1
SpringSecurity JWT 로그인 URL 2개 설정하는 방법
0
488
1
2024.06기준) 최근 SecurityConfig 설정 문의
0
922
3
구글 로그인시 authentication이 null 값이라고 에러가 발생합니다.
0
678
2
특정 url필터 거는 방법 이슈
0
422
1
강사님께서 말씀하시는 시큐리티세션이 SecurityContext인가요?
0
279
1
25강 마지막 테스트에서 오류
1
1044
2
jwt를 저장하는 위치에 궁금한 점이 있습니다.
0
298
1
mustache를 사용하지 않고 thymeleaf를 사용하려고 하는데
0
697
1
세션 인증방식이 REST 원칙에 위배되는 건가요?
0
342
1
jwt와 실제데이터의 관계
1
246
1
jwt 와 세션ID의 관계
1
313
1
SecurityConfig에서 세션 설정, 인가 설정
0
422
1





