2016-07-26 33 views
1

我正在使用的代碼從Cookie獲取當前用戶標識,但登錄的用戶確實有另一個用戶標識。我正在爲用戶使用護照認證。我想user_id成爲當前護照用戶user_id節點路由護照當前用戶標識

當前的代碼使用cookie的用戶ID:

routes.jes

app.get('/portal', isLoggedIn, function (req, res) { 
     var user_id = req.cookies ? 
      req.cookies.user_id : undefined; 

     Box. 
     find({ 
      user_id: user_id 
     }). 
     sort('-updated_at'). 
     exec(function (err, boxes) { 
      if (err) return next(err); 

      res.render('portal', { 
       user: req.user, 
       boxes: boxes 
      }); 
     }); 
    }); 

我試圖改變

var user_id = req.cookies ? 
      req.cookies.user_id : undefined; 

與例如var user_id = req.user.user_id;,以及其他一些語法,但不起作用。我究竟做錯了什麼?

+0

是否使用會話:使用護照時,工程

其他解決方案? ..如果是嘗試req.session.user._id –

+0

嗨感謝您的答覆,解決方案是req.user.id而不是req.user.user_id嘿。如果你把它作爲答案,我會把你的答案標記爲答案,否則我必須等2天才能標出我自己的答案。 – MOTIVECODEX

+1

哈哈你去:D ... console.log每個obj當你不能訪問一些財產或什麼... –

回答

1

你在使用會話嗎? ..如果是嘗試req.session.user._id

app.use(session({ 
    secret: 'MySuperSecret', 
    saveUninitialized: true, 
    resave: false, 
    duration: 30 * 60 * 1000, 
    activeDuration: 5 * 60 * 1000 
})); 

而當u在req.session與用戶存儲用戶的obj登錄,這樣你就可以訪問任何你喜歡的。

req.session.user = user; 

UPDATE: 變化var user_id = req.user.id;var user_id = req.user.user_id;

+0

謝謝,現在的作品 – MOTIVECODEX