身份validation在错误的请求中失败:缺less证书

我正在使用Passport NodeJs,Expresslogin页面。 我是一个Web开发人员,但这是我的第一个NodeJS项目。

我按照这个教程: http : //mherman.org/blog/2013/11/11/user-authentication-with-passport-dot-js/

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

我打了个电话,看看发生了什么事:

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(参数)返回:

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

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

看起来你没有为你的login模型指定一个模式。 你需要像这样声明模型:

var Model = mongoose.model('Model', 'modelSchema');

如果你想看看它是否来自POSTMAN或你的代码,你可以在一个terminal上用curl来testing:

 curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"username": "test", "password": "test"}' http://localhost:3000/api/login