Repository navigation
Releases
Releases · erikwang2013/jwt-rust
v1.0.5
v1.0.4
Security
- 依赖安全更新:
zstd/zstd-safe/zstd-sys、tokio、rustls/rustls-webpki/webpki-roots/webpki-root-certs升级到修复版本;cargo audit无漏洞
Fixed
redis/memcached驱动在外部令牌exp为i64极值时 TTL 计算溢出 panic(debug 构建):改用饱和运算,并补回归断言
Changed
- 文档 SVG 字体族全部改为开源字体(Source Han Sans SC / Noto Sans SC / WenQuanYi Micro Hei / DejaVu Sans),不再引用商业字体;同步重绘社交预览图
- 清理
ASSETS-LICENSE.md中不存在的第三方素材/字体文件引用 - 仓库清理:移除本地 AI 工具生成的无效文件(不进入 crate 包,不影响 API)
v1.0.3
项目宠物重绘为卡通橘猫 Kee,12 种表情形态接入代码。
新增
mascot::Expression:12 种宠物表情形态(笑 / 欢乐 / 哭 / 沮丧 / 惊恐 / 愤怒 / 撒娇 / 卖萌 / 讨好 / 敲打 / 捂脸 / 吐舌头)编译期内嵌,提供ALL/name()/cn_name()/svg()
变更
- 项目宠物重绘为卡通橘猫 Kee:猫有九命=九种接入,八根胡须=八个框架适配层,爪中钥匙=JWT,颈圈蓝盾=校验与黑名单
docs/pet.svg、12 种表情 SVG、终端横幅、社交预览图、站点图标 / favicon 同步更新- README(中英)去除 HTML 标签,改用纯 Markdown;补英文表情表与
mascot::Expression用法示例 Expression查询方法补#[must_use]
验证
cargo fmt --checkcargo test --all-features(本地无 redis / memcached 时以JWT_TEST_SKIP_SERVICES=1跳过服务用例;CI 使用真实服务)cargo clippy --all-features --all-targets -- -D warningsRUSTDOCFLAGS="-D warnings" cargo doc --all-features --no-deps
变更详情见 CHANGELOG.md;crates.io:jwt-rust 1.0.3
v1.0.2
安全与健壮性修复包 + 全库文档去 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
v1.0.1
文档与工程化改进(代码不变)。
- docs.rs 文档页纳入全部框架适配模块(all-features)
- 英文版 README(README.en.md)与 CHANGELOG.md
- README 徽章、「存储驱动是同步 IO(async 运行时须知)」
- GitHub Actions CI:fmt / clippy / test(全 feature)/ MSRV 1.88 / cargo-audit
v1.0.0
Rust 多框架 JWT 认证插件首发。
- 一套框架无关内核 + 九种接入方式:原生 Rust Guard 与 axum / actix-web / rocket / poem / salvo / warp / bee-rust / e-cat 八个框架适配(含 e-cat gRPC 拦截器)
- 四种可插拔黑名单存储:file / redis / database / memcached,支持故障策略与自动重试
- 刷新即轮换、统一 401 JSON 契约、JWT_* 环境变量
- 中英双语文档图;项目宠物「钥匙小卫 Kee」
安装:cargo add jwt-rust --features axum(详见 README)