如何使用快速确定特定的successRedirect节点js?

问题描述:

我有一个关于成功在passport.authenticateRedirecting的问题。 我在nodejs中使用passport.js和本地策略,并为用户登录表示并尝试制定特定的successRedirect路由。如何使用快速确定特定的successRedirect节点js?

例如,如果我使用用户ID:gpaul(假装成功登录)登录,那么successRedirect路由就是'?channel = gpaul'。

我做像下面的代码

var data_1 = {email:''}; 
app.post('/login', 
    function (req,res,next){ 
    req.flash("email"); 
    data_1.email = req.body.email; 
    console.log(data_1.email); 
    next(); 
    }, passport.authenticate('local-login', { 
    successRedirect : ('/status.html?channel='+ data_1.email), 
    failureRedirect : '/login', 
    failureFlash : true 
    }) 
); 

实现上面的代码后,地址出来空白, 本地主机:4000 /通道= 如何我把data_1.email到successRedirect?

没有任何人有任何的想法...? 请帮我看看这里..

谢谢。

尝试使用Custom Callback

app.post('/login', function(req, res, next) { 
passport.authenticate('local-login', function(err, user, info) { 
    if (err) { return next(err); } 
    if (!user) { return res.redirect('/login'); } 
    return res.redirect('/status.html?channel='+ req.body.email); 
    })(req, res, next); 
}); 

在此实现,回调已经通过关闭访问reqres对象。因此,email将不会是空的(不像你的实现)

+0

哇,你是我的生活救星! :) – paulc1111

+0

非常感谢你帮助我。 :) – paulc1111

+0

高兴地帮助:) –