带passport.js的动态failureRedirect

时间:2014-09-12 12:55:13

标签: node.js express passport.js

这是我的登录功能atm:

app.post("/login", passport.authenticate("local", {
    failureRedirect: "/login?error=1"
}), function (req, res) {
    res.redirect(req.body.url || "/");
});

我需要将req.body.url放在failureRedirect url中,所以看起来应该是这样的:

app.post("/login", passport.authenticate("local", {
    failureRedirect: "/login?error=1&url=" + (req.body.url || "/")
}), function (req, res) {
    res.redirect(req.body.url || "/");
});

它无法工作,因为req变量仅在post的回调中被引用...我该怎么办?

1 个答案:

答案 0 :(得分:5)

您可以使用Custom Callbacks动态生成回调网址,因为req对象在其中可用。