작성한 질문수
[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Socket.IO 사용해보기
작성
·
164
0
로그인 처리를 한뒤에 세션을 확인해보면 passport : { user: 1 } 이런식으로 들어가있는데 , socket에서 세션을 확인해보면 해당부분이 없습니다. 왜그럴까요?
답변 1
1
아까 cookieParser를 떼신 거 아니였나요? 쿠키파서를 떼면 세션이 제대로 작동하지 않습니다.
cookieParser 붙여도 똑같이 작동됩니다.
https://okky.kr/article/836395 해당 내용을 살펴보니 Socket.io와 Express의 세션이 서로 개별적으로 관리되는것 같습니다. ㅠㅠ
sleact에 보면 프론트단에서 로그인시
socket?.emit('login', { id: userData?.id, channels: channelData.map((v) => v.id) });
이렇게 직접 전송을 하던데, 혹시 클라이언트 쪽에서 userData.id를 변조해서 보낼수 있진 않을까요?
생각을 다르게해서 api 요청을 보낼때 socket.io의 id를 담는것으로 처리했습니다!
cookieParser 붙여도 똑같이 작동됩니다.
https://okky.kr/article/836395 해당 내용을 살펴보니 Socket.io와 Express의 세션이 서로 개별적으로 관리되는것 같습니다. ㅠㅠ
sleact에 보면 프론트단에서 로그인시
socket?.emit('login', { id: userData?.id, channels: channelData.map((v) => v.id) });
이렇게 직접 전송을 하던데, 혹시 클라이언트 쪽에서 userData.id를 변조해서 보낼수 있진 않을까요?