@SpideR-KOSS

Как подключить правильно Passport.js?

Беру пример из офф. сайта.

В файл app.js вставляю код.
app.use(express.urlencoded({extended: true}));

var passport = require('passport')
  , LocalStrategy = require('passport-local').Strategy;

passport.use(new LocalStrategy(
  function(username, password, done) {
    User.findOne({ username: username }, function(err, user) {
      if (err) { return done(err); }
      if (!user) {
        return done(null, false, { message: 'Incorrect username.' });
      }
      if (!user.validPassword(password)) {
        return done(null, false, { message: 'Incorrect password.' });
      }
      return done(null, user);
    });
  }
));

app.post('/login',
  passport.authenticate('local', { successRedirect: '/',
                                   failureRedirect: '/login',
                                   failureFlash: true })
);

app.use(passport.initialize());
  app.use(passport.session());


Express, паспорт, Mongoose естественно установлены и объявлены в файле.

Модель "User" создана.

В файле home.hbs (шаблонизатор также установлен и подключен) располагаю форму, опять же с офф. сайта.
<form action="/login" method="post">
    <div>
        <label>Username:</label>
        <input type="text" name="username"/>
    </div>
    <div>
        <label>Password:</label>
        <input type="password" name="password"/>
    </div>
    <div>
        <input type="submit" value="Log In"/>
    </div>
</form>

После отправки формы бесконечный запрос, ничего не происходит.

Что я упустил?
  • Вопрос задан
  • 535 просмотров
Решения вопроса 1
@RidgeA
а подключен ли passport к приложению?

app.use(passport.initialize());
  app.use(passport.session());


www.passportjs.org/docs/configure
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Alex_Zdorgor
app.use(passport.initialize());
app.use(passport.session());

должны быть выше роута аутентификации.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы