【问题标题】:Why thwos this ERR: Unknown authentication strategy "loca"为什么这个错误:未知的身份验证策略“本地”
【发布时间】:2020-03-03 00:48:01
【问题描述】:

当我使用 passprot.js 时,它会抛出此错误 Unknown authentication strategy "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 })
);

【问题讨论】:

    标签: javascript node.js mongodb express passport.js


    【解决方案1】:

    从护照中间件中删除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);
        });
      }
    ));
    

    希望这能解决问题。

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 2014-02-22
      • 2021-12-15
      • 1970-01-01
      • 2018-06-08
      • 2022-07-19
      • 2017-05-25
      • 2016-02-28
      • 2022-01-10
      相关资源
      最近更新 更多