카테고리 없음

5월 2일 화요일 TIL 회고록

tft4rollz 2023. 5. 2. 22:53

드디어 401 오류와 "userdetails" is null 에러를 고쳤다.

401 에러가 없으면 "userdetails" is null 이 나오고 "userdetails" is null 이 출력이 안되면 401 오류가 발생했었다.

 

// 인증 객체 생성
public Authentication createAuthentication(String token) {
    UserDetails userDetails = userDetailsService.loadUserByUsername(this.getUserInfoFromToken(token));
    return new UsernamePasswordAuthenticationToken(userDetails,"",userDetails.getAuthorities());
}

인증 객체를 생성하는 메서드이다. token을 매개변수로 받고 userDetailsService.loadUserByUsername을 this.getUserInfoFromtoken(token)으로 받는다. 이 부분이 문제였던 것 같다.

 

public Authentication createAuthentication(String username) {
  UserDetails userDetails = userDetailsService.loadUserByUsername(
      username);
  return new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
}

위는 매개변수를 token으로 받았는데 이번에는 username으로 받게 한 후 loadUserByUsername도 username으로 받게 한 후 리턴시켰다.

 

이 부분을 수정시켰더니 드디어 지긋지긋한 401과 "userdetails" is null 에러가 사라졌다ㅠㅠ

진짜 이거 하나때문에 고생을 엄청했다..

내일은 게시판 부분을 마무리하고 댓글 부분을 시작해야겠다.