【问题标题】:How to redirect to a page on an error in passport-local如何重定向到本地护照错误页面
【发布时间】:2015-01-08 03:04:34
【问题描述】:

当使用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 消息,但是如果我调用verify 函数并使用第一个不是null 参数并对该错误执行某些操作,我该如何设置重定向?

【问题讨论】:

    标签: node.js passport.js


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-05-15
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      相关资源
      最近更新 更多