본문 바로가기

내가_겪은_문제들

(25)
실시간 채팅 구현하면서 만난 문제 (2) 웹소켓으로 연결 요청이 들어오면 StompHandler 에서 헤더에 있는 토큰으로 검증을 시도하고 연결이 되면 세션을 레디스에 저장하는 방식으로 (예상)구현을 했는데, 세션에서 유저정보를 못찾는데 왜그런거지.... 토큰의 subject를 유저 이메일 기준으로 했는데, 왜 토큰을 넣어도 못찾는 거지 처음에는 웹소켓도 http 메서드랑 같은 형식으로 헤더를 받을 수 있는 줄 이해하고 메세징 처리해주는 컨트롤러에도 저런식으로 HttpServletRedquest 를 넣어줬었는데, 이게 틀린걸 좀 더 후에 찾아보고 변경함 변경하기 전에 security로 인증된 사용자 정보 가져올수있나? 하고 그것도 사용해봄(그러나 실패) 이게 최종적으로 바뀐 버전 이렇게 하니까 웹소켓 연결은 잘 됨 ENTER, TALK, QUI..
실시간 채팅 구현하면서 만난 문제 (1) - Topic Null? Topic 발행을 못해서 계속 null 반환하던 문제는, 토픽발행하는 로직을 입장 시 발행하도록 위치변경해서 해결 - 채팅이용자의 인증, Email Null? 결론적으로는 토큰 문제였는데, 프론트쪽에서 토큰 주는 방식을 변경하고, 웹소켓과 http 메서드로 토큰받는 방식이 다르다는 걸 너무 늦게 알게 된 것도 한몫하는 것 같음 토큰문제를 해결하니까 email is null 뜨는것과, DB에 저장되는 것도 해결되고, 실시간으로 메시지 주고받는 것도 거의 한큐에 해결함 자세한 채팅 코드 관련 정리는 나중에 해야겠다
template might not exist or might not be accessible by any of the configured Tem 로컬테스트할 때는 정상 동작 확인을 했었는데, 배포한 주소로 테스트 할 때는 액세스 거부로컬로 할 때는 성공이라 에러 로그가 안보여서, 배포된 주소로 터미널을 켜서 확인함thymeleaf가 html 파일을 못찾는다는 로그 확인'분명히 resoureces/templates/chat/room 이렇게 되어있는데 왜 못 찾는 거지?'라고 생각함찾아보니 이런 블로그 글 확인그래서 적용해본 결과정상동작 확인https://jg-han.tistory.com/100 [SpringBoot] 문제해결: template might not exist or might not be accessible by any of the configured Template ResolversException processing template ..
Not Found Token 분명히 회원가입할때는 'MANAGER' 권한 부여를 위한 'ADMIN_TOKEN' 을 제외하면 새로 생성되는 토큰이 없어야하는데, 왜 토큰을 찾을 수 없다고 하는거지 일단 문제는 filterchain에서 걸려서 그런거라는데 왜이렇게 작성된거지... 해결하면 해결한거 추가하기 일단 결론적으로 bearer 토큰 관련 로직에서 문제였는데 로직에서는 토큰을 가져와서 -> 앞부분을 자르고 -> 그 값을 다른 곳으로 토스함 근데 값이 없이 계속 그 과정이 수행되어서 저런 메세지가 나옴 그래서 그냥 그 로직을 없앰 -> 이 과정에서 결국 토큰을 bearer이 아닌 그냥 Jwt로 바꿈
Column 'password' cannot be null 1. 메세지 2. 원인 일단 비밀번호입력을 not null 로 설정해서 빈값이 오면 안되는건 아는데 분명히 비밀번호 넣어서 post 요청을 보낸건데도 에러가 난다 3. 해결 password 초기화를 해주는 생성자가 없어서 나는 에러였음 -> 그래서 자꾸 빈 값을 던져줘서 그런 에러가 났었음