繁体   English   中英

如何在浏览器中使用Flash消息? Passport,Node.js,内容闪存

[英]How to consume flash message in the browser? Passport, Node.js, content-flash

我正在学习(颇为挣扎)Passport模块。 我在“策略”中指定了Flash消息,如下所示:

passport.use(
  new Strategy(function(username, password, cb) {
    if (username !== "riko") {
      // console.log("Incorrect User");
      return cb(null, false, { message: "Icorrect user!" });
    }
    if (password !== "kote") {
      // console.log("Incorrect Password");
      return cb(null, false, { message: "Icorrect password!" });
    }
    return cb(null, { username: "riko", passpord: "kote", chemer: "memer" });
  })
);


 app.post(
    "/Login",
    passport.authenticate("local", {
      successRedirect: "/User",
      failureFlash: true
    }),
    function(req, res) {
      console.log("LOGIN POST!");
      res.redirect("/Home");
      // res.sendFile(path.join(__dirname, "client/build", "index.html"));
    }
  );

我在文档中读到,这些Flash消息可用于通知用户身份验证状态:

重定向通常与Flash消息结合使用,以便向用户显示状态信息。

将failFlash选项设置为true会指示Passport使用策略的验证回调(如果有)给出的消息来刷新错误消息。 这通常是最好的方法,因为验证回调可以最准确地确定身份验证失败的原因。

问题是我既不知道如何在后端也不访问前端这些Flash消息。

您可以使用request参数( req )访问Flash消息。

app.get('/User', function (req, res) {
  res.render('User', { message: req.flash('message') });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM