node.js – 错误请求中的身份验证失败:缺少凭据

我正在使用Passport Node.js,Express登录页面.

我是一名Web开发人员,但这是我的第一个Node.js项目.

我跟着User Authentication with Passport.js

但每次我尝试登录登录页面或注册页面时,我唯一拥有的是“错误请求”页面.

我打了回去看看发生了什么:

exports.postRegister = function(req, res) {
    login = mongoose.model('login');
    login.register(new login({
        username: req.body.email
    }), req.body.password, function(err, login) {
        if (err) {
            return res.render('register', {
                login: login,
                error: err,
                title: "S'enregistrer"
            });
        }
        // Something is wrong here 
        passport.authenticate('local', function(err, user) {
            // So let's console log the thing !
            console.log(arguments);
        })(req, res, function() {
            res.redirect('/scene/1');
        });
    });
};

并且console.log(arguments)返回:

{
  '0': null,
  '1': false,
  '2': { message: 'Missing credentials' },
  '3': 400
}

我检查了我的MongoDB,用户创建没有问题!

最佳答案 看起来您没有为登录模型指定架构.你需要声明这样的模型:

var Model = mongoose.model(‘Model’,’modelSchema’);

点赞