
JWT와 Redis를 이용한 클라이언트의 로그아웃 로직을 구현하던 도중 발생한 트러블이다. 간단하게 클라이언트가 로그아웃 요청을 보낼 경우 해당 클라이언트의 Header에서 AccessToken을 받아와 토큰을 이용해 RefreshToken을 블랙리스트에 등록하는 로직이다. 로그아웃 로직이 완성됐다고 생각하고 포스트맨으로 실행시켰을때 위의 사진에서 볼 수 있듯 500 서버에러가 발생하였다. 왜 이런 이유가 발생할까? 에러 로그를 슥 살펴보던 도중 "Member가 UserDetails로 cast 될 수 없다"는 로그를 발견함과 동시에 "loadByUser"쪽에서 문제가 발생한걸 확인해 볼 수 있었다. 이게 그 문제의 loadByUsername 메서드이다. 코드를 쓱 봤을때는 마지막에 (UserDetails..