node.js - 如何在 Node.js 中解码令牌?jwt.verify() 失败
问题描述
我正在尝试在 nodejs 中使用 jwt 解码令牌。这是行不通的,每次我都得到undefined
解码的令牌。
这是我的代码:
const token = req.headers.authorization.split(' ')[1];
const decodedToken = jwt.verify(token, 'RANDOM_TOKEN_SECRET');
const userId = decodedToken.userId;
console.log(decodedToken);
console.log(decodedToken.userId);
解决方案
我发现了这个错误。在我编码/生成令牌时,我没有为属性userId
提供值。这就是它声明它未定义的原因。
我不得不做一些改变,它工作得很好。
const token = jwt.sign(
{userId: user.userid},
'RANDOM_TOKEN_SECRET',
{expiresIn: '24h'});
推荐阅读
- selenium - Safari 不支持在多线程上执行自动化脚本,
- python - 如何正确使用 StringVar?
- docusignapi - 文档 | 开发者沙盒 | 签名者什么时候应该有一个docusign帐户?
- c++ - 无法使 include-.hpp-file 与其中 2 个一起工作
- apache-camel - Camel aries 蓝图中使用 cxfendpoint 的基本身份验证
- ios - 快速替换此文本比较
- python - Docker 图像未正确加载 FastText 向量
- c# - SQL Server localDB 无法创建文件
- javascript - 如何使用 HTML 使文本可拖动到视频上?
- python - tkinter:如何从树视图中删除所有条目并清除列名