首页 > 解决方案 > 如何使用 Passport JS 在“登录逻辑”中添加错误/成功消息?

问题描述

我想显示错误消息(用户名不存在,密码不匹配......)和成功(登录后的成功消息)。这是我的代码:

router.post("/login", passport.authenticate("local", 
    {
        successRedirect: "/home",
        failureRedirect: "/login"
    }), (req, res) => {
});

我尝试在 CB 之后添加类似这样的闪存消息,但不起作用:

router.post("/login", passport.authenticate("local", 
    {
        successRedirect: "/home",
        failureRedirect: "/login"
    }), (req, res) => {

        req.flash("error", "message blablabla...");
        res.redirect("/login");
});

需要帮助:)

标签: node.jspassport.jspassport-localpassport-local-mongoose

解决方案


根据 passport.js 文档,你应该能够做这样的事情

router.post("/login", passport.authenticate("local", 
    {
        successRedirect: "/home",
        failureRedirect: "/login",
        failureFlash: 'Invalid username or password.',
        successFlash: 'Welcome!' 
    }));

推荐阅读