带有Facebook的node.js Express / socket.io混合应用程序

我在我的node.js应用程序中使用express / socket.io组合。 到目前为止它工作正常。 现在,我需要将facebook用户标识和电子邮件标识 (用户被授权后)存储到会话范围中。 我看到有很多的select,有点在这里丢失..在我的应用程序,大部分的通信通过socket.io发生..最终我想要的是访问用户ID和电子邮件ID随时在客户端…

var express = require("express"), fs = require("fs"), app = express.createServer( form({ keepExtensions: true }) ), io = require("socket.io"); socket = io.listen(app); 

获得授权后,我build议使用已经存在于cookies中的accessToken,然后通过socket.io发送,并使用graph.facebook或您自己的数据库获取电子邮件和id。 存储用户ID和电子邮件的问题是它可能不安全,因为会话劫持可能发生。

Facebook有自己的安全专家,以确保它不会被劫持。 用它!

这可能有助于:

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

获得授权后,您可以通过快递将数据存储在会话中

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

在一个非常基本的层面上:

 // 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); });