[발자국] 웹 프로젝트 (tripmark.co.kr)

[웹 프로젝트] 피드백 적용하기 4 - JWT 토큰 관리 확인

남건욱 2025. 6. 2. 20:24
반응형

문제 정의

피드백 4.

로그인후 창을 두개띄우고 로그아웃시 하나의 창은 채팅이 계속쳐지네요.

개발자모드보니 로그아웃시에 쿠키가없어지던데 프론트에서 jwt토큰을 다루고있는건가요?

 

 

해결 방향

토큰 검증 로직 추가
- 로그아웃해도 기존 WebSocket 연결이 끊기지 않아, 다른 탭에서 여전히 채팅 메시지를 보낼 수 있었음
  서버에서 WebSocket 세션을 즉시 종료하기 복잡하므로, 메시지 전송 시마다 클라이언트와 서버에서
  JWT 유효성을 확인하도록 수정

 

구현 상세

토큰 검증 로직 추가

 

탭 두 개로 채팅방을 켰다. 그 뒤 한쪽에서 로그아웃하고 한쪽에서는 채팅을 쳐봤다. 근데 채팅이 전송된다..

그래서 다른 것도 테스트해 봤다. 게시글 작성버튼을 눌렀을 때 로그인이 안되어있다면 작성페이지로 넘어가지 않는다. 이 테스트에서는 정상적으로 작성페이지로 넘어가지 않았다.

 

따라서 토큰을 제거하거나 로그아웃을 해도 웹소켓 연결이 끊기지 않아서 발생하는 것 같았다.  그래서 클라이언트상에서 메시지를 보낼 때마다 토큰을 체크한 뒤 전송이 되도록 수정했다. 웹소켓 세션을 끊기에는 복잡해질 것 같아서 메시지를 전송할 때마다 토큰검증을 하도록 수정했다.

 

 

그 결과 다시 시도했을때 한 곳에서 로그아웃시 정상적으로 에러를 띄우고 메인페이지로 돌아간다. 

 

 

 

서버 주소

https://tripmark.co.kr/

 

발자국 - 여행 커뮤니티

당신의 발자국으로 채워가는 여행플랫폼

tripmark.co.kr

 

테스트 계정 1

ID: test1@gmail.com

PW: !test1234

 

테스트 계정 2

ID: test2@gmail.com

PW: !test1234

 

피드백은 항상 감사히 받겠습니다.

OKKY(개발자 지식공유 플랫폼)에서 피드백 받은 내용입니다.

https://okky.kr/

 

OKKY - All That Developer

OKKY는 국내 최대 개발자 지식공유 플랫폼입니다. 개발자에게 필요한 기술 Q&A, 아티클, 커리어, 네트워킹, 취업, IT행사를 지원합니다

okky.kr

 

반응형