Почему эта ERR: неизвестная стратегия аутентификации "loca" - PullRequest
0 голосов
/ 03 марта 2020

Когда я использую passprot. js выдает эту ошибку Неизвестная стратегия аутентификации "local" !

config / configuration. js

var passport = require('passport')
  , LocalStrategy = require('passport-local').Strategy;
  var User = require('../model/students');

passport.use('local', new LocalStrategy(
  function(username, password, done) {
    User.findOne({ username: email }, 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);
    });
  }
));

index. js

router.get('/test', function (req, res, next) {
  res.render('test');
});

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

1 Ответ

0 голосов
/ 03 марта 2020

Удалите local из промежуточного программного обеспечения паспорта.

Пример:

passport.use(new LocalStrategy(
  function(username, password, done) {
    User.findOne({ username: email }, 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);
    });
  }
));

Надеюсь, это решит проблему.

...