2016-07-26 2 views
1

내가 사용하고있는 코드가 쿠키에서 현재 사용자 아이디를 얻지 만, 로그인 한 사용자는 다른 사용자 아이디를 가지고 있습니다. 나는 사용자를 위해 여권 인증을 사용하고있다. user_id이 현재 여권 사용자 user_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

당신이 세션을 사용하고 있습니까에 변화 : 여권을 사용하는 경우 작동

다른 솔루션? .. yes yes req.session.user._id –

+0

답장을 보내 주셔서 감사합니다. 해결책은 req.user.user_id hehe 대신 req.user.id입니다. 당신이 대답으로 쓰면 나는 당신의 대답을 답으로 표시 할 것입니다. 그렇지 않으면 제 자신의 대답을 표시하기까지 2 일을 기다려야하기 때문입니다. – MOTIVECODEX

+1

하하 거기에 : D ... console.log 모든 obj 때 액세스 할 수있는 속성 또는 무언가 ... –

답변

1

세션을 사용하고 있습니까? 유 req.session에서 사용자 저장소 사용자 OBJ에 로그인 할 때 ..If 예 당신이 액세스 할 수 있도록 어디서나 당신이 좋아

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

을 req.session.user._id 시도하고.

req.session.user = user; 

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

+0

고마워, 이제 작동 – MOTIVECODEX