jwt - 验证 JWT 令牌时指定 alg
问题描述
在jsonwebtoken 8.5.1
中,可以像 HS256 一样验证令牌,例如:
const jwt = require("jsonwebtoken");
const decoded = await jwt.verify(jwt_token, jwtPrivateKey, {ignoreExpiration: true});
既然alg:none
是已知漏洞,有没有办法alg
在验证时强制使用预期?alg
它是否还通过在验证中指定来增强安全性?
解决方案
您可以使用algorithms
密钥指定您期望的算法,请参阅以下文档jwt.verify()
:
algorithms
:具有允许算法名称的字符串列表。例如,["HS256", "HS384"]
.
推荐阅读
- reactjs - SO i18next React 中的反应式翻译
- c# - 如何使用通知图标来增强用户界面?
- windows - 如何在 Windows 上调试 Laravel
- linux - 如何将用户 www-data 写入权限分配给用户文件夹而不是用户分配给其他用户文件夹?
- vb.net - VB.NET模拟按钮点击,如何恢复正常?
- angular - 过滤管角度 - 多个参数
- arrays - Matlab上矩阵中矩阵的平均值
- python - 我的布尔 if 语句出错(Django)
- scala - 调用者任务如何避免它的调度程序被其 flatMap 结束的子任务更改
- dailymotion-api - 在 dailymotion api 上上传视频时缩略图 URL 无效