2016-08-26 3 views
1
私は、ログインページをレンダリングすることだし、ユーザーがデータを送信したときに、それはパスポートに行く

フラッシュメッセージパスポートローカル-マングース

router.get('/login', function(req, res) { 
    res.render('login', { 
     user : req.user, 
     failureMessage : req.flash('fail') 
    }); 
}); 

router.post('/login', passport.authenticate('local', { 
    successRedirect : '/dashboard', 
    failureRedirect : '/login', 
    failureFlash : true, 
}), function(req, res) { 
    // none of this will run right? 
}); 

フラッシュメッセージを取得する場所を見つけるしようとしている問題を抱えています

.authenticateミドルウェアと追加のコールバックに行くことなく残りの世話をするので、どのように私は/ログインページにリダイレクト時に表示することができますフラッシュメッセージを得ることができますか? https://github.com/saintedlama/passport-local-mongoose#simplified-passportpassport-local-configurationが、私はチュートリアルでは、最初に使用見ることがまだあります

もう一つの問題は、私は、ドキュメントが最初のものを使用することを教え

passport.use(User.createStrategy()); 

または

passport.use(new LocalStrategy(User.authenticate())); 

を行うことになっていますかどうかであります1。

答えて

0

フラッシュメッセージの操作方法を理解しました。これがそうするべきであるように思われる。

router.get('/login', function(req, res) { 
    res.render('login', { 
     user : req.user, 
     error : req.flash('error') 
    }); 
}); 

router.post('/login', passport.authenticate('local', { 
    successRedirect : '/dashboard', 
    failureRedirect : '/login', 
    failureFlash : { type: 'error', message: 'Invalid username or password.' } 
}));