【发布时间】:2020-10-20 01:37:45
【问题描述】:
我在 js 节点和 mysql 中做了一个后端,以便能够使用 jwt 登录和访问安全路由。 到目前为止,我可以登录并获得一个令牌。我创建了一个受中间件保护的路由(如下面的代码),但是当我尝试获取此路由时,我总是收到 401 Unauthorized 和错误“您的会话无效”。我一步一步地遵循this 教程,但对我不起作用。完整代码在链接中了解详情。
提前致谢:)
module.exports = {
isLoggedIn: (req, res, next) => {
try {
const token = req.headers.authorization.split(' ')[1];
const decoded = jwt.verify(
token,
'SECRETKEY'
);
req.userData = decoded;
next();
} catch (err) {
return res.status(401).send({
msg: 'Your session is not valid!'
});
}
}
};
【问题讨论】:
-
查看
err对象中的内容可能很有用。 -
@RobertHarvey 感谢您的回复。我得到“未定义 jwt”
-
真是浪费时间……解决了!下次,我会记录错误^^。谢谢!
-
你的代码中有
const jwt = require('jsonwebtoken');吗? -
是的,我只是用 import jwt 修复它
标签: javascript mysql node.js jwt middleware