身份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