2016-12-01 16 views
0

URLが更新されているのは間違っています。Expressはパスポート認証後に間違った表示にリダイレクトされます

ユーザーがパスポートで認証されると、URLは自分のコード(/ clients)に更新されますが、ビューはホームページビューに戻ります。

ユーザーが認証されたら、それらを私の角型アプリケーションにリダイレクトするようにしたいと思います。

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}); 
    }); 
}; 

誰もが正しい方向に私を指すことができる場合、私は思います大いにそれを感謝します。

+0

を追加します。あなたは '/ *'によってキャッチされるように '/ client'ルートを扱っておらず、' 'index''を表現します。 –

答えて

0

ルートこれはpassport.jsとは何の関係もありません

app.get('/client', function (req, res) { 
    res.render('client/index', {currentUser: req.session.user}); 
    }); 
関連する問題