인프런 커뮤니티 질문&답변

쿠마스님의 프로필 이미지
쿠마스

작성한 질문수

[리뉴얼] 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를 담는것으로 처리했습니다!

쿠마스님의 프로필 이미지
쿠마스

작성한 질문수

질문하기