javascript - Nodejs Passport 失败消息不起作用
问题描述
我有 Passport Local 在我的应用程序上工作。
成功带来了身份验证,而失败则没有。然而,我试图通过失败消息和逃避动作让它更好地失败。
尝试按照护照文件。
错误消息由于某种原因没有出现,希望得到一些帮助!
这是当地的策略
// Configure the local strategy for use by Passport.
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,req.flash('message','Invalid username or password')); }
if (user.password != password) { return cb(null, false,req.flash('message','Invalid username or password')); }
return cb(null, user);
});
}));
认证
//Home
app.post('/home.ejs',
passport.authenticate('local'),
function(req, res) {
res.redirect('/');
});
如果这更准确但也没有运气,我还会再次尝试进行身份验证
//Home
app.post('/home.ejs', function( req, res, next) { passport.authenticate('local', function(err, user, info) {
if (err) { return next(err); req.flash('message','Invalid username or password') }
if (!user) { return res.redirect('/'); failureFlash: 'Invalid username or password' }
req.logIn(user, function(err) {
if (err) { return next(err); }
return res.redirect('/');
});
})(req, res, next);
});*/
解决方案
它应该是
passport.use(new LocalStrategy ...
而不是你的
passport.use(new Strategy(.....
推荐阅读
- android - Clang 分析器缺少内存泄漏
- php - JSON 不发送到文件
- scala - Scala groupby key sum value over a Seq of (key, value) 同时保持 Order
- spring-boot - DB关闭时如何将任何下载的文件路由到错误通道以及DB启动后如何处理它们?
- ios - 在swift 4中使用firebase实时数据库进行实时运输跟踪
- openssl - 在 openssl 1.1.0 中复制自定义 openssl 引擎库的位置
- tableau-api - Tableau Server 问题
- vba - 如何使用蓝色棱镜在 Word 中创建超链接文本?
- image-processing - 堆叠式自动编码器
- android - 带有导航编辑器的 BottomNavigationView 面临片段不变的问题