Skip to content

v1.0.2

Choose a tag to compare

@erikwang2013 erikwang2013 released this 11 Oct 10:15
· 7 commits to main since this release

安全与健壮性修复包 + 全库文档去 PHP 化。

修复(P1×3 / P2×8)

  • redis:缺省 servers 曾写死 memcached 端口导致静默错连;补齐 1 秒建连与读写超时(防半开连接无限阻塞)
  • leeway 上限校验(≤ 86400 秒):挡住在 debug 下 panic / release 下全量过期的配置笔误
  • memcached:单台宕机只剔除该台、其余照常服务(每服务器独立连接池 + 确定性哈希路由 + 读写锁并发)
  • RetryTokenStorage 保持 Config 错误类型;无 exp 令牌 blacklist() 显式报错(不再假成功)
  • file 驱动:已存在目录拒绝 group/other 可写 + 写探测;空路径不再落 CWD;空 jti / 超长 hex jti 键护栏
  • TOML 空 path 归一化;refresh() 中不可达的 expect 消除

安全

  • JwtConfig 的 Debug 输出打码 secret_key;HMAC 算法拒收 PEM 材料(公钥误配即万能伪造)
  • 新增安全负路径回归锁:篡改签名 / 算法混淆 / alg:"none" / future nbf / leeway / PEM 误配

文档

  • 全部文档与注释移除 PHP 引用,改按项目自身理由陈述行为取舍;中英 README 同步
  • 新增须知:axum attach 时序、is_blacklisted 的 fail-open、file 目录位置与权限、memcached 键长上限

工程化

  • 性能:Validation 预构建、SQLite prepare_cached、redis 关闭默认 feature、hex 编码免逐字节分配
  • CI 新增门禁:cargo doc -D warnings、cargo package、core-only + 逐单 feature 编译矩阵(本版本 CI 全绿)
  • 测试 134(93 单元 + 40 集成 + 1 doctest);redis / memcached 用例在真实服务下运行

变更详情见 CHANGELOG.md;crates.io:jwt-rust 1.0.2