好的,所以在这一点上我很好奇,我很想找出我的代码或机器出了什么问题。我正在做一个团队项目;我和其他人一起是后端的一部分。我们开始测试端点,除了/api/auth/login
端点之外,它们都可以正常工作。 Insommia给了我500个致命错误,没有消息。问题是,当克隆到另一个人的计算机中时,代码完全相同。
我继续前进,甚至删除了本地存储库并创建了一个新存储库,但仍然出现错误。我不知道发生了什么。该项目是NodeJs Express后端应用程序。 如果有人想自己测试一下,这里是仓库。有趣的是,已部署的api版本可以完美运行,包括登录。
https://github.com/Build-Week-Secret-Family-Recipes-2/Back-End
这是我用于登录的身份验证路由器代码
router.post('/login', (req, res) => {
let { username, password } = req.body;
Users.findByFilter({ username })
.first()
.then((user) => {
if (user && bcrypt.compareSync(password, user.password)) {
const token = signToken(user);
res.status(200).json({
token: token,
message: `Welcome ${user.username}!`,
});
} else {
res.status(401).json({ message: 'Invalid Credentials' });
}
})
.catch((err) => {
res.status(500).json(err);
});
});
function signToken(user) {
const payload = {
username: user.username,
};
const secret = process.env.JWT_SECRET || 'it is a secret, is it safe?';
const options = {
expiresIn: '1h',
};
return jwt.sign(payload, secret, options);
}