使用Node.js和Passport进行身份验证后,如何使用他的ID将用户重定向到主页?

时间:2014-11-27 10:06:31

标签: node.js authentication login routes passport.js

我刚刚开始学习node.js,所以对我很轻松:P

我正在使用护照来验证用户身份。 在成功验证后,用户需要将其ID作为URL参数重定向到其主页,例如:

 /home?id=325346546

这是我的routes.js

的一部分
    // process the login form
    app.post('/', passport.authenticate('local-login', {
        successRedirect : '/home?id='+req.user._id, //error because 'req' isn't declared
        failureRedirect : '/',
        failureFlash : true
    }));

这是我的想法,我想将id作为参数传递给URL。

我试过放

function(req, res) {
}

但它不起作用。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

感谢Ben我让它工作,所以回答我自己的问题是完整的代码:

    // process the login form
    app.post('/', function(req, res, next) {
      passport.authenticate('local-login', {failureFlash:true}, function(err, user, info) {
       if (err) { return next(err); }
       if (!user) { return res.redirect('/'); }
      req.logIn(user, function(err) {
        if (err) { return next(err); }
       return res.redirect('/home?id=' + user._id);
     });
    })(req, res, next);
    });