5

我在 node.js 应用程序中使用 passport.js 来使 OAuth 正常工作(太棒了!),但现在,我遇到了一件事。

我在客户端使用backbone.js来创建视图(我正在尝试创建一个SinglePage应用程序......),而我正在考虑在主干中获取用户ID或类似内容的唯一方法是创建首先是一个隐藏在jade模板中的输入,然后将其传递给我的主干视图中的构造函数....或者只是将值分配给一个javascript变量并将其传递给管理所有视图的路由器,然后将其传递给每个视图需要它

我认为这不是一个好主意,可能会有更好的选择!

你会怎么做?

谢谢!

4

1 回答 1

0

我还没有在 Backbone 中做任何事情,但是这里这里这里已经有了解决方案。只要您在某处获得会话 ID,就可以使用cookie -package 检索会话(cookie 已从 connect-utils 外包):

if(handshakeData.headers.cookie) {
  c = cookie.parse(handshakeData.headers.cookie);
  sid = connect.utils.parseSignedCookie(c['connect.sid'], 'keyboard cat');
  redis.get('sess:'+sid, function(error, result) {
    session = JSON.parse(result);
    handshakeData.uid = session.passport.user;
    callback(null, true);
  });
于 2012-08-23T07:57:16.873 回答