spring

spring security + jwt loadUserByUsername에서 엉뚱한 값을 받는다

기기디 2021. 8. 26. 10:42

개인기록용

 

spring security+jwt토큰 활용하여 api서버구성하였음. 프론트는 리액트에서 인터셉터에 JWT토큰값 따로 가지고 있다가 API서버로 요청보낼때마다 토큰보내는 상황.

 

초기로그인시에는 loadUserByUsername메소드 호출시 입력한 유저ID값으로 정상적으로 동작했는데 그 이후에 뭐 요청할때마다 loadUserByUsername에 유저ID값을 받는게 아니라 DB의 ID값을 받아서 제대로 동작을 안했음

 

OncePerRequestFilter를 상속받아 doFilterInternal메소드를 거칠때

다음과같이 Claims객체로 jwt토큰을 이용해서 사용자 고유값을 받아오는 과정이 있는데 

Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody()

 

해당부분에서 회원의 ID값이 아닌 DB의 사용자ID값을 받아 처리해서 문제였었당

그래도 금방찾음 인텔리제이 디버깅툴은 아직 익숙하지 않네

'spring' 카테고리의 다른 글

Spring MVC구조 - 내부HTTP요청처리과정  (0) 2022.05.24
Spring Boot @Transactional  (0) 2022.05.24
Spring Boot사용시 Gradle Option구성요소  (0) 2022.04.14