Stomp 인터셉터로 JWT 검증하기

코딩을 합시다·2023년 2월 18일
0
post-thumbnail

프로젝트를 하는 도중에 웹 소켓 채팅의 유저를 검증해야만 채팅을 칠 수 있게 구현해야하는 상황에 직면했다.

  1. AccessToken과 RefreshToken 둘다 검증해야한다.
  2. 유저가 채팅방에 처음 들어올때 검증을 하고 검증이 된 유저만 채팅을 할 수 있도록 구현한다.
  3. ChannelInterceptor를 활용하여 소켓 요청이 Controller로 가기전에 먼저 Interceptor에서 한번 요청을 처리하고 Controller로 가게 한다.

이 세개를 지키면서 구현을 하였고 1번 과정보단 2번과 3번 내용을 중점적으로 작성해보겠다.

StompHandler와 configureClientInboundChannel을 WebSockConfig파일에 추가해주었다.
코드를 보면 알겠지만
간략히 설명을 하자면 ChannelRegistration에 interceptors로 StompHandler를 추가해주고 있다.(35번째 줄)

여기는 StompHandler로 ChannelInterceptor를 구현하고 있다.
if문을 통해 StompCommand가 CONNECT일때 한번만 AccessToken과 RefreshToken을 검사하도록 하였다.



Token검증을 위한 JwtUtil의 일부분들로 참고하면 좋을꺼 같다

0개의 댓글