我正在尝试使用passport.js与mongoose。发送的数据是正确的,但我得到一个错误代码401说未经授权?
这里是后端控制器。
userController.login = (req, res) =>{
console.log("recieved");
console.log(req.body);
const user = new Users({
username: req.body.mail,
password: req.body.password
})
req.login(user, (err) => {
if (err){
res.status(404).send(err);
}else{
console.log("user found");
passport.authenticate("local", (err, user, info) => {
if (err) {
return res.status(401).json(err);
}
if (user) {
return res.status(200).send(user);
} else {
res.status(401).json(info);
}
})(req, res, () => {
console.log("Authenticated!");
res.status(200).send(user);
});
}
})
}
1条答案
按热度按时间hi3rlvi21#
在发帖时,我需要将req.body.mail重命名为req.body.username,因为auth和req.login直接查找req正文并搜索username对象。