1

使用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"})

比护照重定向到/,我可以发送消息,但是如果我使用第一个非参数调用函数并对该错误执行某些操作,flash我该如何设置重定向?verifynull

4

1 回答 1

0

根据 express 文档,您可以配置错误处理中间件,如下所示:

app.use(function(err, req, res, next){
  console.error(err.stack);
  res.send(500, 'Something broke!');
});

四个参数签名表明这是一个错误处理定义。

请参阅http://expressjs.com/guide.html#error-handling

于 2013-05-04T02:40:03.727 回答