1
如果身份驗證失敗,則發送閃存時出現問題。除了一切正常。當我複製示例(https://github.com/jaredhanson/connect-flash),以我的應用程序的提示信息工作正常...無法顯示來自Passport.js的Flash消息
這裏是我的代碼:
//routes
app.get('/login', function (req,res){
res.render('login', {
authMessage: req.flash('authMessage')
});
});
app.post('/login', passport.authenticate('local', {
failureRedirect: '/login',
failureFlash: true
}), function(req,res){
res.send('ok');
});
//local strategy
passport.use(new LocalStrategy(
function(username, password, authCheckDone) {
UserDetails.findOne({username : username}).then(
function(user){
if (!user) {
console.log('bad username');
return authCheckDone(null, false, {authMessage: 'Wrong name'});
}
if (user.password !== password) {
console.log('bad password');
return authCheckDone(null, false, {authMessage: 'Wrong password'});
}
return authCheckDone(null, user);
}),
function(error){
return authCheckDone(error);
};
}
));
//ejs
<% if (authMessage.length > 0) { %>
<p>test</p>
<%= authMessage %>
<% } %>
我讀過某處這個問題可能與安全不相關使用https,但如果這將是這種情況下,從github的例子也不會工作...
那個; s it!謝謝 :) –