第 3 课
Decode 与 Verify 的区别
为什么读取 JWT JSON 并不等于信任这个 Token。
解码 JWT 是把 Base64URL 文本还原成 JSON。验证 JWT 是证明这个 Token 对你的应用来说可以被接受。
Decode 回答可读性问题
Decode 可以帮助你看到:
- header 声称使用了什么算法
sub指向哪个用户或服务exp是否已经过去- 有哪些 scope 或 role
这对调试很有用,但不是安全决策。
Verify 回答信任问题
验证会检查:
- 签名是否匹配可信 secret 或 public key。
- 算法是否在应用允许列表中。
iss是否是可信签发方。aud是否匹配当前服务。exp、nbf和时钟偏差规则是否满足。
如果这些检查缺失,Token 解码后看起来正常,也可能并不安全。
经验规则
用解码器来查看内容。用认证库、身份提供方或后端中间件来验证可信度。