gpt4 book ai didi

node.js - Passport 认证,需要基本解释

转载 作者:太空宇宙 更新时间:2023-11-03 23:59:39 26 4
gpt4 key购买 nike

有人可以解释一下什么是以及为什么我们在 Passport 的末尾包含(req,res,next)。身份验证,到目前为止我在教程中看到的是我们需要它,因为我们希望它启动立即关闭,但我不太明白。

这是代码:

router.post('/login', (req, res, next) => { <br>
passport.authenticate('local', { <br>
successRedirect: '/songs/list', <br>
failureRedirect: '/users/login', <br>
failureFlash: true <br>
})(req, res, next); <---- *This line*

最佳答案

您正在声明一个函数并立即调用它。您这样做是为了访问 passport.authenticate 内的 req 对象。

因此,如果您需要访问 passport 内的请求对象,您需要一个自定义回调。您的代码似乎没有使用 req 对象,因此您只需使用

app.post("/protected",passport.authenticate("local",{
successRedirect:"/user",
failureRedirect:"/login"
}),function(req,res){
});

如果您的应用程序需要访问 req 对象,那么:

app.get('/protected', function(req, res, next) {
passport.authenticate('local', function(err, user, profile) {
if (err) { return next(err) }
if (!user) { return res.redirect('/signin') }
res.redirect('/account');
})(req, res, next);
});

更多信息@ https://github.com/jaredhanson/passport/issues/1

关于node.js - Passport 认证,需要基本解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55379677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com