使用Passport身份验证发送JSON和重定向

时间:2016-11-21 07:42:08

标签: redirect express server passport.js

我正在使用ExpressJS和Passport来验证本地用户,理想情况下,我想在成功或失败时同时使用JSON对象和重定向进行回复。我的代码现在看起来像这样:

app.post('/login', function(req, res, next) {
  passport.authenticate('local-signin', function(err, user, info) {
    if (err) {
      return next(err);
    }
    if (!user) {
      res.json(false);
      return res.redirect('/signin');
    }
    req.logIn(user, function(err) {
      if (err) {
        return next(err);
      }
      res.json(user);
      return res.redirect('/');
    });
  })
  (req, res, next);
});

问题是res.json()和res.redirect()都会导致响应完成。有没有办法让两者一起发生?我想发送JSON以及重定向的原因是登录还需要在移动应用程序中工作,对于该移动应用程序,重定向似乎没有做任何事情。

如果有更好的方法可以实现这一点,那也很棒,但我想以JSON身份发送的其他信息在网站方面也会有所帮助。

谢谢!

编辑:看起来我可以使用2条不同的路线,但是,我仍然想知道它是否可以发送JSON和重定向。

0 个答案:

没有答案