gpt4 book ai didi

node.js - 必须提供 ExpressJs JWT secret 或公钥

转载 作者:行者123 更新时间:2023-12-02 03:29:02 29 4
gpt4 key购买 nike

我想做check-auth但是返回给我

JsonWebTokenError: secret or public key must be provided

我可以拿 token 成功

我该如何解决这个问题?

我正在学习本教程;

https://www.youtube.com/watch?v=8Ip0pcwbWYM&t=633s

const jwt = require('jsonwebtoken');
module.exports = (req, res, next) => {
try {
const token = req.headers.authorization.split(" ")[1];
console.log(token);
const decoded = jwt.verify(token, process.env.JWT_KEY);
req.userData = decoded;
next();
} catch (error) {
console.log(error);
return res.status(401).json({
message: 'Auth failed'
})
}
}

最佳答案

process.env 全局变量由 Node 在运行时注入(inject)以供您的应用程序使用。您需要创建一个新的 env 文件来存储这些环境变量。

也就是说,您必须在单独的 js 存档中声明您的变量 JWT_KEY。如果您使用的是 Nodemon,只需创建一个归档文件 nodemon.json(在这种情况下就像 env 一样工作)并像这样声明您的变量:

{ 
"env": {
"JWT_KEY": value,
...
}
}

关于node.js - 必须提供 ExpressJs JWT secret 或公钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52375833/

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