闪讯 Passport-local-mongoose

jba*_*uer 2 mongoose node.js passport-local

我在尝试找出从哪里获取即时消息时遇到问题

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?
});
Run Code Online (Sandbox Code Playgroud)

我正在渲染一个登录页面,当用户提交数据时,它会转到 Passport.authenticate 中间件,它会处理其余的事情,而不需要进行额外的回调,所以我如何获取闪存消息,以便在重定向时显示它返回/登录页面?

另一个问题是我是否应该这样做

passport.use(User.createStrategy());
Run Code Online (Sandbox Code Playgroud)

或者

passport.use(new LocalStrategy(User.authenticate()));
Run Code Online (Sandbox Code Playgroud)

文档告诉我使用第一个: https: //github.com/saintedlama/passport-local-mongoose#simplified-passportpassport-local-configuration但我还没有看到使用第一个的教程。

jba*_*uer 5

弄清楚如何处理闪现消息。看来这个应该可以做到。

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.' }
}));
Run Code Online (Sandbox Code Playgroud)

  • 我知道三年零八个月后我才来到这里,但你绝对是传奇。我连续两天一直在尝试寻找 Flash 消息的解决方案来与 Passport-local-mongoose 一起使用,直到我终于找到了您的解决方案。感谢您最终自己找到了解决方案。我不敢相信仍然只有一张赞成票(不包括我的)。使用 Passport-Local-Mongoose 的人一定不多:) (2认同)