2013-09-05 2 views
4

내 nodejs 응용 프로그램과 세션을 설정하는 방법이 정말 혼란 스럽습니다. 나는 express + socksjs를 사용하고 있는데 특정 사용자 세션에 ws 연결을 바인딩하는 방법을 이해하는 데 어려움이 있습니다.nodejs + websocket 세션 혼동

그들은 sockjs 페이지에서 승인을 위해 쿠키를 사용하지 않는다고 말하지만 ws 연결을 설정할 때 쿠키에서 세션을 보내지 않으면 (예 : 특급으로 세션을 설정 한 쿠키) 어떻게 특정 ws를 바인딩 할 수 있습니까? 특정 사용자와의 연결?

나는이 간단한 목표를 달성하고 싶습니다 : - 사용자 (고객 또는 로그인)이 페이지를 방문하여 WS 연결 을 설정 - 그래서 내가 알고 내가 레디 스에 접속 ID와 세션의 키 값 쌍을 저장하는 사용자 주어진 ws 연결이 속한 경우

ws 연결을 설정 한 직후 쿠키에서 세션을 보낼 수없는 경우 어떻게해야합니까? 원한다고해도 HttpOnly로 인해 쿠키를 사용할 수 없으므로 js를 통해 읽을 수 없습니다.

편집 :

this google group post 내가 좋은 소리하지만 여전히 나는에서 그 세부 사항을해야하는 위치 모르겠어요 첫 번째 메시지에서 암호화 된 사용자 정보를 보내 줄 것을 제안합니다. 나는 항상 세션과 쿠키를 통해 해냈다 ...

+0

을이 블로그 게시물은 나를 도와 : [소켓 - io-and-express-3] (http://notjustburritos.tumblr.com/post/22682186189/socket-io-and-express-3) –

답변

0

세션 복원의 경우 대부분의 경우 쿠키가 사용됩니다. SockJS는 쿠키 사용을 허용하지만 다른 보안 관행없이 원시 쿠키 만 사용하는 것은 약간 위험합니다. 특히 SockJS가 다른 도메인에 있고 쿠키의 원본 범위가 불확실한 경우 특히 그렇습니다.

인증을 위해 토큰 방법 사용을 고려하십시오.

당신이 정말이 읽어 보시기 바랍니다 쿠키를 사용해야하는 경우, 모든 추론이, 난 그냥 이미 설명한 상황 중복 못해 :이 문제로 어려움을 겪고있는 동안 https://github.com/sockjs/sockjs-node/pull/29#issuecomment-2733120