개발자

리액트 웹소켓 사용자 인증

2024년 11월 04일조회 39

웹소켓을 사용해서 채팅구현 중에 있습니다. 이때 사용자 인증 처리를 핸드셰이크 시 요청 헤더에 토큰을 담아 보내려고 합니다. Web Socket API에선 요청 헤더에 토큰을 담아 보내는게 안되고, Socket.IO나 SockJS 라이브러리를 사용하라는걸 알게되었는데 혹시나 라이브러리 사용하지 않고 Web Socket API 에서 요청 헤더에 토큰을 담아보내는 방법이 있나요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 11월 04일

표준 웹소켓 API는 요청 헤더를 설정하는 기능을 제공하지 않습니다. 그래서 일반적으로 WebSocket에서 JSON Web Token(JWT) 등을 사용하여 인증하려면, 웹 소켓 연결이 이루어진 후 별도의 메시지를 통해 토큰을 전송하게 됩니다. 하지만 이 것은 핸드셰이크 과정에서 보안 문제로 여겨질 수 있습니다. 구현 방법에 따라 요청 URL 뒤에 인증 토큰을 붙여 보낼 수도 있지만, 이 역시 민감 정보 노출 위험이 있습니다. 따라서 권장되는 방법은 서버 측에서 websocket과 http를 모두 지원하는 프레임워크나 라이브러리를 사용한 후 웹 소켓 연결 전에 HTTP 인증 절차를 거친 후 성공적인 경우에만 웹소켓 연결을 열어주는 것입니다. Popular libraries such as Socket.IO or SockJS are widely used because they provide additional features including session support over traditional WebSocket APIs.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!