Как использовать флеш-сообщение в браузере?Паспорт, Node.js, контент-флеш - PullRequest
0 голосов
/ 22 декабря 2018

Я учусь (довольно борюсь), паспортный модуль.Я указал флэш-сообщения в своей «Стратегии» следующим образом:

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"));
    }
  );

Я прочитал в документации, что эти флэш-сообщения могут использоваться для информирования пользователя о статусе аутентификации:

Перенаправления часто сочетаются с флэш-сообщениями для отображения информации о состоянии для пользователя.

Если для опции faultFlash задано значение true, Passport отправляет сообщение об ошибке, используя сообщение, выданное проверочным обратным вызовом стратегии, если таковой имеется.Часто это лучший подход, потому что обратный вызов проверки может наиболее точно определить причину неудачной аутентификации.

Проблема в том, что я не знаю, как получить доступ к этим флэш-сообщениям ни в бэкэндени интерфейс.

1 Ответ

0 голосов
/ 22 декабря 2018

Вы можете получить доступ к флеш-сообщениям, используя параметр запроса (req).

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