护照认证后 Express 重定向到错误视图

Express redirects to wrong view after passport authentication

我花了很多时间弄清楚为什么 URL 正在更新,但它转到了错误的视图。

当用户使用护照进行身份验证时,URL 会更新我的代码 (/clients),但视图会返回主页视图。

用户通过身份验证后,我希望他们被重定向到我的 angular 应用程序。

folder structure

  server
     --config
          -auth
          -express
          -mongoose
          -passport
          -routes
     --controllers
     --data
     --utils
     --views
         -client (ng app)
             -css
             -js
             -views
             index.jade (angular app index)
         -shared
              layout.jade
         -users
              login.jade
         index.jade (express index)

express.js

app.set('view engine', 'jade');
  app.set('views', config.rootPath + '/server/views/');

auth.js

login: function(req, res, next) {
    var auth = passport.authenticate('local', function(err, user) {
        if (err) return next(err);
        if (!user) {
            req.session.error = 'Invalid Username or Password!';
            res.redirect('/login');
        }

        req.logIn(user, function(err) {
            if (err) return next(err);
            res.redirect('/client');
            console.log();
        })
    });
        auth(req, res, next);
    },...

Routes.js

var auth = require('./auth'),
    controllers = require('../controllers');

module.exports = function(app) {
    app.get('/register', controllers.users.getRegister);
    app.post('/register', controllers.users.createUser);

    app.post('/login', auth.login);
    app.get('/logout', auth.logout);
    app.get('/login', controllers.users.getLogin);

    app.get('/', function (req, res) {
        res.render('index', {currentUser: req.user});
    });

    app.get('*', function (req, res) {
        res.render('index', {currentUser: req.user});
    });
};

如果有人能指出正确的方向,我将不胜感激。

添加路线

   app.get('/client', function (req, res) {
     res.render('client/index', {currentUser: req.session.user});
   });