【发布时间】:2020-04-23 04:36:52
【问题描述】:
我有 passport.js 身份验证,它接受正确的凭据而不是不正确的凭据。
我正在尝试针对不正确的凭据显示弹出消息。
尝试了无数次尝试并按照文档进行操作,但无法使其正常工作。 里面似乎没有太多,但不能完全正确。
制定策略
var flash = require('connect-flash');
var app = express();
app.use(flash());
passport.use(new Strategy(
function(username, password, cb) {
db.users.findByUsername(username, function(err, user) {
if (err) { return cb(err); }
if (!user) { return cb(null, false, { message: 'Incorrect password.' } ); }
if (user.password != password) { return cb(null, false, { message: 'Incorrect password.' }); }
return cb(null, user);
});
}));
身份验证 - 发布和获取
//Log In Post request
app.post('/login.post',
passport.authenticate('local', { successRedirect: '/home',
failureRedirect: '/',
failureFlash: 'Invalid log in, please try again' })
);
//Home route
app.get('/home', //Log in Home
function(req, res) {
res.render('home', { user: req.user });
});
【问题讨论】:
标签: node.js authentication heroku passport.js passport-local