2013-12-07 23 views
0

我正在使用最新版本的Node.js,Express,Nano和CouchDB,並試圖獲取當前已通過身份驗證的用戶的用戶名和角色。我正在使用cookie身份驗證,這是正常工作。但是,對_session的GET請求將爲用戶返回空白名稱和角色。Userctx不返回帶有cookie身份驗證的用戶名或角色(nano)

這裏是我使用的代碼:當它被髮送到沙發上

app.get('/_session', function(req, res) { 
    var auth = req.cookies['AuthSession'], 
     appNano; 
    console.log(auth + " from session"); 
    if (!auth) { 
     res.send(401); 
    } else { 
     appNano = nano({ 
      url : 'http://localhost:5984', 
      cookie: 'Authsession=' + auth 
     }); 
     appNano.request({ 
      method: "GET", 
      db: "_session" 
     }, function(err, body, headers) { 
      if (err) { 
       res.send(401); 
       return; 
      } 
      if (headers && headers['set-cookie']) { 
       res.cookie(headers['set-cookie']); 
      } 
      console.log(body); 
      res.send(body); 
     }); 
    } 
}); 

權威性的定義,並存儲在我的瀏覽器(使用的console.log確認)cookie的匹配。我需要做什麼才能找回經過驗證的用戶的用戶名/角色?

回答

0

想通了。 'cookie'標題應該設置爲'AuthSession ='+ auth,而不是'Authsession ='+ auth。大寫失敗:頁。