gpt4 book ai didi

mysql - 错误: secretOrPrivateKey must have a value

转载 作者:行者123 更新时间:2023-11-29 15:31:43 31 4
gpt4 key购买 nike

我正在使用 jwt 创建 token ,但是当我通过 postman 登录时,我从控制台收到错误“错误:secretOrPrivateKey 必须有一个值”。我已附上我的登录代码。请任何可以帮助我的人

exports.login = (req, res, next) => {
User.findOne({
where: {
email: req.body.email
}
})
.then(user => {
if (!user) {
return res.status(401).json({
message:
"Auth failed!! either the account does't exist or you entered a wrong account"
});
}
bcrypt.compare(req.body.password, user.password, (err, result) => {
if (err) {
return res.status(401).json({
message: "Auth failed",
token: token
});
}
if (result) {
const token = jwt.sign(
{
email: user.email,
password: user.id
},
process.env.JWT_KEY,
{
expiresIn: "1h"
}
);

res.status(200).json({
message: "Auth granted, welcome!",
token: token
});
}
});
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
};

这是我的 env.json 文件

{
"env":{
"MYSQL":"jllgshllWEUJHGHYJkjsfjds90",
"JWT_KEY": "secret"
}
}

enter image description here

enter image description here

最佳答案

您的应用程序似乎无法正确读取环境变量。

我不知道您使用哪个包来加载环境变量,但最简单的方法是使用 dotenv 包。

使用 npm i dotenv 安装后,尽早将其导入到应用程序主文件中,如下所示:

require("dotenv").config();

使用此内容在应用程序根文件夹中创建 .env 文件(如您所见,格式为 key=value)

MYSQL=jllgshllWEUJHGHYJkjsfjds90
JWT_KEY=secret

然后您可以像以前一样访问它们的值:

process.env.JWT_KEY

.env 文件:

enter image description here

关于mysql - 错误: secretOrPrivateKey must have a value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58673430/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com