我已经进行了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 });
});
答案 0 :(得分:1)
尝试一下:
// Login Process
router.post("/login", (req, res, next) => {
passport.authenticate("local", {
successRedirect: "/",
failureRedirect: "/auth/login",
failureFlash: true
})(req, res, next);
});
致电(req, res, next);
很重要,否则整个过程就会卡在这里。
答案 1 :(得分:0)
也许是这样吗?
'driver.AddArgument "--user-data-dir=C:\Users\user1\AppData\Local\Google\Chrome\User Data"