2012-08-22 17 views
5

我在node.js應用程序中使用passport.js以獲得OAuth工作(真棒!),但現在,我遇到了一件事情。我正在使用backbone.js在客戶端,創建視圖(我試圖創建一個SinglePage應用程序...),並且唯一的方法,我想獲得用戶id或類似的東西在主幹中首先創建一個輸入 - 隱藏在jade模板中,然後將其傳遞給我的主幹視圖中的構造函數....或者只是將值賦給一個javascript變量並將其傳遞給管理所有視圖的路由器,並傳遞給它對每一個需要它的看法Passport.js:在使用骨幹時訪問用戶

我認爲這不是一個好主意,並且可能有更好的選擇!

你會怎麼做?

謝謝!

回答

0

我還沒有在Backbone做任何事情,但已經有解決方案here,herehere了。只要您在某個地方獲得會話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); 
    });