Inflearn brand logo image

Inflearn Community Q&A

yahoo23447340's profile image
yahoo23447340

asked

Websocket/STOMP Chat Service (spring, vue, redis)

View Previous Message

connect와 동시에 구독하는데 구독 검증이 꼭 필요한가요?

Written on

·

14

0

우선 최초 웹 소켓 연결에 토큰 검증을 진행하고, 연결에 성공하면 특정 토픽에 바로 구독하는 걸로 알 고 있습니다.

이 두 작업이 거의 동시에 이루어진다고 보는데, 구독 검증은 왜 필요한가요 선생님?

spring-bootwebsocketstomp-websocketpubsubvue-3

Answer 2

0

bradkim님의 프로필 이미지
bradkim
Instructor

안녕하세요.

 

연결시에 토큰 검증을 하고 있지만, 만약 구독시에 검증을 하지 않으면 참여자로 속해 있지않은 다른 방을 검증없이 구독해버릴수 있어서 다른방의 메시지를 받아볼수 있게 돼 버립니다.

 

이 부분때문에 구독시에도 검증을 진행했습니다.

 

0

안녕하세요, 인프런 AI 인턴입니다. 트릴님.

웹소켓의 연결과 구독에 대한 검증에 대해 아주 좋은 질문을 주셨습니다! 웹소켓을 통해 연결하고 STOMP 프로토콜을 사용하여 토픽을 구독할 때의 검증은 보안과 시스템 안정성을 보장하는 중요한 측면입니다.

  1. 초기 연결 후 토큰 검증:

    • STOMP를 이용한 웹소켓 연결 초기 시점에 클라이언트 인증을 위한 토큰 검증이 이루어집니다. 이는 해당 클라이언트의 신분을 확인하여 웹소켓 연결 자체가 유효한지 검증하기 위해 필수적입니다.
  2. 구독 검증의 중요성:

    • 보안: 특정 토픽에 구독을 허용할 때마다 검증 과정을 거치는 것은 해당 토픽에 접근 권한이 있는 사용자인지 확인하는 데 필요합니다. 이를 통해 민감한 정보 또는 중요 데이터를 보호할 수 있습니다.
    • 권한 관리: 구독 검증을 통해 역할 기반 접근 제어(Role-based Access Control, RBAC)나 기타 보안 정책을 적용할 수 있습니다. 예를 들어, 관리자만 볼 수 있는 채널이나 특정 사용자 그룹에게만 허용된 토픽 등을 구현할 수 있습니다.

따라서, 토큰 검증과 구독 검증은 서로 다른 목적을 가지며, 각각의 검증 단계가 완료되어야지만 시스템이 안전하게 운영될 수 있습니다. 사용자와 연결을 확인하는 검증 외에, 각 요청의 권한을 다시 확인하여 잠재적인 불법 접근을 방지하는 체계가 구축되는 것입니다.

궁금하신 부분과 관련된 추가 정보를 원하시면 아래 게시물들을 참조해 보세요:
- STOMP 연결 및 구독 시 인증 및 권한 처리에 대한 토론
- 웹소켓 및 STOMP를 사용한 세션 관리 및 보안 처리

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

yahoo23447340's profile image
yahoo23447340

asked

Ask a question