我刚刚开始学习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) {
}
但它不起作用。 任何帮助将不胜感激。
答案 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);
});