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

Redirect 使用Passport身份验证发送JSON和重定向,redirect,express,server,passport.js,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 (!us

我正在使用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发送的额外信息在网站方面也会很有帮助

谢谢


编辑:看起来我可以使用两个单独的路由,但是,我仍然想知道是否可以同时发送JSON和重定向。

前端使用什么?HTML/CSS/JS。我不清楚手机应用开发者在用什么;我相信Java(Android)和Swift(iOS)?前端使用什么?HTML/CSS/JS。我不清楚手机应用开发者在用什么;我相信Java(Android)和Swift(iOS)?