Skip to content

[feat] 채팅 WebSocket 인증 연동 및 채널 접근 제어 #62

Description

@HandoA01

목표

채팅 WebSocket에 인증을 연동해 발신자를 실제 로그인 사용자로 도출하고, 채널 접근을 팟 참여자로 제한한다.

상세

  • 엔드포인트: WS /ws, SUB /topic/parties/{partyId}/chat, PUB /app/parties/{partyId}/chat
  • 참고: PR feat: WebSocket 기반 실시간 채팅 송수신 구현 #41 CodeRabbit 리뷰(Critical), FR-CHAT-01
  • 핵심 규칙:
    • STOMP CONNECT 시 JWT 검증 후 Principal 설정
    • ChatController.sendMessagesenderId = 1L 하드코딩 제거, 인증 주체에서 도출
    • 구독·발행 시 해당 팟 참여자인지 검증
    • SecurityConfig의 /ws/** 공개 처리 재검토

선행 조건

  • 배달팟 참여(join) API — 멤버십 검증 대상이 필요해 현재는 구현 불가

완료 조건

  • 로컬에서 동작 확인
  • 테스트 작성

현재 /ws가 인증 없이 열려 있고 모든 메시지가 임시 사용자(1L)로 저장됩니다. 실사용자 오픈 전 반드시 완료되어야 합니다.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions