해결된 질문
작성
·
100
·
수정됨
0
현재 코드에
if (StompCommand.CONNECT==accessor.getCommand()){ System.out.println("connect 요청 시 토큰 유효성 검증"); String bearerToken = accessor.getFirstNativeHeader("Authorization"); String token= bearerToken.substring(7);
Connect 시에만 인증을 요구하는데
Stomp 연결 이후 publish와 subscribe 시에는 STOMP에서 인증이 자동으로 되는건가요?
아니면 현재 코드에서 작성하지 않은 것인가요?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 심심이님.
웹소켓과 STOMP를 사용한 인증 흐름에 대한 질문을 주셨군요. STOMP 프로토콜에서 인증 처리에 대한 좋은 질문입니다. 아래에 설명드릴게요:
초기 연결 인증 (CONNECT):
StompCommand.CONNECT
명령어와 함께 인증 토큰을 확인하여 유효성을 검증하는 부분이 구현되어 있습니다. 이 단계에서는 클라이언트가 서버와 처음 연결할 때 제공한 토큰을 통해 인증이 이루어집니다.이후 메시지 전송 (PUBLISH/ SUBSCRIBE):
추가 인증:
다시 말해, STOMP 연결 이후 일반적인 메시지 전송 시에는 추가 인증이 진행되지 않는 것이 기본 프로토콜 동작이지만, 이 부분을 보안상의 이유로 어플리케이션에서 커스터마이징할 수 있습니다.
이와 관련된 더 자세한 내용을 확인하고 싶으시다면 다음 링크를 참고해 보세요:
- STOMP 프로토콜에서의 인증 처리 및 보완 방법 관련 질문
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.