校验与使用要点
校验与使用要点
1. 服务端显式指定允许算法(不信任头部 alg 字段)
2. 使用强密钥(HS256 至少 256 位随机)或非对称(RS256/ES256)
3. 完整校验 iss/aud/exp/nbf 声明
4. 有效期短(分钟到小时级),刷新令牌单独管理并支持撤销
5. 不在 JWT 承载敏感明文(payload 是 Base64 编码,不是加密)常见配置错误示例
常见配置错误示例
错误:jwt.decode(token, verify=False) 或允许 alg=none
正确:jwt.decode(token, key, algorithms=['RS256']) # 显式算法白名单签名密钥若被硬编码进前端项目等于公开:签发与校验所用密钥只存在于服务端。