如何在使用 passport-local 时重定向到(示例数据库)错误的自定义页面并显示消息。这是代码:
passport.use(new LocalStrategy({
passReqToCallback: true
}, function( req, username, password, done ) {
done({error:'mycustomerrormessage'});
}
));
路由看起来像:
app.post('/auth/local', passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/',
failureFlash: true
}));
当错误发生时,url 停留在 /auth/local
上,并带有令人讨厌的 [object Object]
内容。
如果我打电话
done( null, false, { message: "error message"})
比passport重定向到/
,我可以flash
消息,但是如果我使用第一个非null
参数调用verify
函数并处理该错误,我该如何设置重定向?
最佳答案
基于express文档,您可以配置错误处理中间件如下:
app.use(function(err, req, res, next){
console.error(err.stack);
res.send(500, 'Something broke!');
});
四个参数签名表明这是一个错误处理定义。
关于node.js - 如何重定向到 Passport 本地错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13974885/