【发布时间】:2020-04-24 09:07:53
【问题描述】:
我在 express 应用程序中遇到了 jsonwebtoken 的问题,我无法验证中间件上的 jwt,因为 req.headers 中不存在 jwt 这是我的代码:
const payload = { email, role: "User" };
jwt.sign(
payload,
process.env.SECRET_USER,
{
expiresIn: 60
},
(err, token) => {
if (err) return err;
res.send(token);
}
);
当我使用邮递员时,我没有错误并且令牌已成功发送。 但是在我的中间件中(用于检查用户是否已登录),我尝试使用 console.log(req.headers) 并且没有键“Authorization: Bearer [TOKEN]”
中间件:
const jwt = require("jsonwebtoken");
require("dotenv").config();
exports.isUserAuth = (req, res, next) => {
console.log(req.headers);
const token = req.headers.authorization.split(" ")[1];
};
【问题讨论】:
-
请给我们你想要获取Auth-Header的中间件的代码。
-
您的客户端如何调用 API 并附加令牌?