어제 목표 & 오늘 완료한 한 일
- 알고리즘 문제
- 자바 종합 문법 복습 (3주차)
- 스프링 기초 개인과제 해설 강의
- 스프링 심화 과제 (테스트 코드 작성)
- JPA 심화 강의듣기
플러스 주차 복습 과제- CS 공부 (운영체제)
내일 목표
- 알고리즘 문제
- 자바 종합 문법 복습 (3주차)
- 스프링 기초 개인과제 해설 강의
- 스프링 심화 과제 (테스트 코드 작성)
- JPA 심화 강의듣기
- 플러스 주차 복습 과제
- CS 공부 (운영체제)
발생한 오류와 해결 방법
1️⃣.
Encoded password does not look like BCrypt
이와 같은 에러가 발생했다. 해당 에러가 발생한 이유는 내가 로그인하고자 하는 사용자 정보가 비밀번호 암호화관련 코드가 없을 때 생성했던 계정이라 DB에 암호화된 상태가 아닌 비밀번호 그 자체가 저장된 상태라 그런 것이었다. 그래서 회원가입을 새로 진행했는데 이번에 새롭게 저장된 데이터도 비밀번호가 암호화되지 않은 상태로 저장되어있었다. 알고보니 UserService부분에서 인코딩을 해주지 않고 그냥 request.getPassword()값을 넣어주고 있었다. 그래서 인코딩한 값이 DB에 저장되도록 아래와 같이 코드를 변경해주었다.
passwordEncoder.encode(requestDto.getPassword());
이렇게 해주면 정상적으로 동작할 줄 알았는데 아니었다. 이전에 발생했던 에러는 해결되었지만, 새로운 에러가 발생하였다. 해당 에러는 바로 password와 passwordCheck를 비교하기 전에 인코딩을 해주어 두 값이 다르게 인식되어 발생하는 에러였다. 그래서 비교후 password를 인코딩하게끔 변경해주었더니 회원가입을 문제없이 할 수 있었고, DB에도 암호화된 값이 잘 들어오는 것을 확인할 수 있었다. 그리고 로그인까지 진행해봤더니 로그인 기능도 정상적으로 동작하는 것을 확인할 수 있었다.
느낀점 & 배운 것
어제에 이어 오늘도 SQL문제를 풀었다. WEHRE절 부분에서 조금 헷갈리는 감이 있긴 했지만 수월하게 풀었다. 완전 쉽게 풀어야하는 난이도인 것 같은데,, 그러지 못했다.
위에서 언급했던 에러가 해결되고, 로그인이 정상적으로 동작한다고 생각했는데 로그인을 다시 한 번 해보니 로그인 기능이 정상적으로 동작하는 것이 아니었다. 만료된 토큰이라는 에러가 발생했다. 그래서 코드를 살펴봤는데 WebSecurityConfig 클래스에서 회원가입, 로그인 관련 URL에서는 요청을 모두 허가하도록 permitAll()을 해줬는데 왜 이러한 에러가 발생하는건지 이해할 수 없었다. 에러를 확인해보니 doFilterInternal메서드에서 에러가 발생하는 것 같았다. 계속 살펴봤는데도 불구하고 아직 문제를 해결하지 못했다. 너무 답답하다.
'TIL & WIL' 카테고리의 다른 글
[WIL] #14. 231211 ~ 231217 (0) | 2023.12.18 |
---|---|
[TIL] #96. 231218 (0) | 2023.12.18 |
[TIL] #94. 231216 (0) | 2023.12.17 |
[TIL] #93. 231215 (0) | 2023.12.15 |
[TIL] #92. 231214 (0) | 2023.12.14 |