2011-10-12 1 views
1

내 node.js 응용 프로그램에 express/socket.io 조합을 사용하고 있습니다. 지금까지 잘 작동합니다. 이제 facebook 사용자 ID와 이메일 ID (사용자가 승인 된 후)을 세션 범위에 저장해야합니다. 나는 많은 옵션이 있고 여기에 조금 잃어 버렸다. .. 내 애플 리케이션에서 대부분의 통신은 socket.io를 통해 이루어진다. 궁극적으로 내가 원하는 것은 클라이언트 측에서 언제든지 사용자 ID와 전자 메일 ID에 액세스하는 것이다.node.js 페이스 북을 사용하는 Express/socket.io 하이브리드 응용 프로그램

답변

1

권한이 부여 된 후에 쿠키에 이미있는 accessToken을 사용하고 socket.io를 통해 보내고 graph.facebook 또는 자신의 DB를 사용하여 이메일과 ID를 가져 오는 것이 좋습니다. 사용자 ID 및 전자 메일을 저장하는 문제는 세션 도용이 발생할 수 있으므로 안전하지 않을 수 있다는 것입니다.

Facebook에는 도용되지 않도록 자체 보안 전문가가 있습니다. 그걸 써!

+0

이것은 정확하게 내가하고있는 것입니다 .. p 문제는 그것을 세션 범위에 저장하는 방법이었습니다. 아마도 Cris-O의 정보가 도움이 될 것입니다. 마지막 댓글에 감사드립니다. "Facebook은 보안 전문가로서 도용 당하지 않을 것입니다. 사용하십시오!" – user644745

+1

Facebook의 javascript SKD를 실제로 사용하는 경우 accessToken은 이미 쿠키에 저장됩니다. 그래서 걱정할 필요가 없습니다. 모든 인증을 담당하는 [everyauth module] (https://github.com/bnoguchi/everyauth)을 사용할 수도 있습니다. 트위터, 구글, 야후 같은 다른 시스템에서도 사용할 수 있습니다. 그리고 그것은 아주 성숙합니다. –

+0

감사합니다. 당분간 간단한 쿠키를 사용하여 문제가 해결됩니다. 필요한 경우 앞으로 모든 사용권을 사용할 것입니다. – user644745

1

이 도움이 될 수 있습니다 :

// Get data from facebok and store it on a var `userData` 

// server 
socket.on('getUserData', function (callback) { 
    callback(facebookUserData); 
}); 



// client 
socekt.emit('getUserData', function(userData) { 
    console.log(userData);  
}); 
:

http://criso.github.com/fbgraph/

당신은 아주 기본적인 수준에서 명시

http://expressjs.com/guide.html#session-support

를 통해 세션의 데이터를 저장할 수있는 권한이 부여 된 후

+0

http://criso.github.com/fbgraph를 보았습니다. facebook-js와는 어떻게 다른가요? 현재 나는 그것을 사용하고 그래프 api를 사용하여 읽고 게시 할 수 있습니다. 그러나 YQL이 이것보다 훨씬 좋음을 알았습니다. facebook/twitter/etc가 어떻게 내부적으로 작동하는지 이해할 필요가 없습니다. 어쨌든 내 문제는 간단합니다. 세션 범위에 userID를 저장하려면 어떻게해야합니까? 대부분 나는 socket.io를 사용하고 있습니다 ... "http://socket.io/#how-to-use"에서 예제를 제공했지만 사용 방법을 모르겠습니다. 주로 나는 클라이언트 측에서 필요할 때 userId에 액세스 할 수 있기를 원합니다. – user644745

+0

위의 코드는 여기 코드가 –

+0

으로 아름답 기 때문에 추가되었습니다. 감사합니다. 만약 내가 이것을 올바르게 이해했다면, 1. 클라이언트 쪽에서 "getUserData"를 수신하면 서버 쪽에서 "getUserData"를 보내고 페이스 북 사용자 데이터로 콜백을 실행하고, 결국 "function (userData)"를 실행합니다. 이 내일과 나의 관찰을 업데이 트됩니다. – user644745