2016-07-26 19 views
1

私が使用しているコードは、Cookieから現在のユーザーIDを取得しますが、ログインしたユーザーには別のユーザーIDがあります。私はユーザーにパスポート認証を使用しています。 user_idを現在のパスポートユーザーuser_idにします。私は、例えばでノードルートパスポート現在のユーザーID

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

を変更しようとした

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

現在のコードは、クッキーのユーザIDを使用しvar user_id = req.user.user_id;、および他の構文もありますが、動作しません。私は間違って何をしていますか?

+0

へ 変更var user_id = req.user.id;あなたはセッションを使用していますか? ..はいの場合、req.session.user._idを試してください。 –

+0

返事ありがとうございます。解決策はreq.user.user_id heheの代わりにreq.user.idでした。あなたがそれを答えとして置くと、私は自分の答えに印を付けることができます。 – MOTIVECODEX

+1

haha​​ there:D ... console.logすべてのobjは何かのプロパティや何かにアクセスできません... –

答えて

1

セッションを使用していますか? ..Ifはい

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

そしてときあなたはどこでもあなたが好きそれにアクセスできるようにuは、req.sessionでユーザーストアのユーザーOBJを使用してログインをreq.session.user._idしてみてください。

req.session.user = user; 

UPDATE:パスポートを使用しているときに動作し

その他のソリューション:var user_id = req.user.user_id;

+0

ありがとう、今すぐ – MOTIVECODEX

関連する問題