JWT / PHP + Rust

把 JWT 认证收进一套内核

签发、校验、刷新、拉黑由同一内核完成,原生 PHP 与六框架共用。

柴犬门卫钥匙小卫,jwt 的项目宠物

认证逻辑只写一遍

核心不依赖任何框架 helper,配置、日志、数据库与 Redis 连接都从外部注入,六框架适配层只负责容器接线。

七种接入方式共用一套配置结构,黑名单可在 file、redis、database、memcached 四种后端之间切换,存储失败时可配置放行或拒绝。

  • 框架无关内核
  • HS256 到 RS256
  • 失效时放行或拒绝
7接入方式
4存储驱动
276测试用例
柴犬门卫钥匙小卫 的 微笑 表情

钥匙小卫 Kee

一只扁平卡通的柴犬门卫:项圈上六颗金色圆钉代表六个框架适配层,脖子下挂着金色钥匙吊牌,钥匙柄上嵌着蓝色盾牌。

替每个请求验明正身。

从签发到拉黑

令牌生命周期的每一步都由同一套内核接管。

多算法签发

支持 HS256、HS384、HS512 与 RS256,验证时带时间容差。

刷新轮换

换发新令牌时旧 jti 自动进入黑名单,刷新令牌不可复用。

四种黑名单存储

file、redis、database、memcached 按配置切换。

原生 PHP 守卫

Native\Guard 读取 Bearer Token,统一输出 401 JSON。

七种接入方式

七种接入方式各有中间件、过滤器或请求守卫。

重试与故障策略

存储操作失败自动重试,故障时可配置放行或拒绝。

同一能力,Rust 版本

PHP 版之外,也可以用 Rust 实现同一套 JWT 认证。

Rust v1.0.3 Rust 1.88 / crate

jwt-rust

Rust 多框架 JWT 认证

框架无关 JWT 内核,支持 HS256、HS384、HS512 与 RS256,内置刷新轮换、四种黑名单存储与九种接入方式。

  • 九种接入方式
  • 四种黑名单存储
  • 八框架原生适配
查看 Rust 仓库

从内核到门卫表情

四次关键发布,补齐框架适配与项目宠物。

v2.2.6

测试断言修正

修正 Memcached 用例的调用状态断言,发布前补跑测试。

v2.2.5

宠物形态进代码 API

把 12 种宠物形态接入 Mascot API,代码里可直接取用。

v2.2.4

吉祥物与社交预览

完成扁平卡通吉祥物、整套表情与 Social Preview。

v2.2.0

Yii2 与 Yii3 适配

新增 Yii2、Yii3 框架适配,修复 Yii2 动态属性导致的认证必崩。

版本日志

最近的发布记录,完整列表在 GitHub Releases。

最新 v2.2.6 全部版本
v2.2.62026-10-19

修正 Memcached 测试断言,发布前补跑测试。

v2.2.52026-10-18

宠物形态接入 Mascot 代码 API。

v2.2.42026-10-18

扁平卡通吉祥物、整套表情与社交预览。

v2.2.32026-10-18

补写柴犬门卫 Kee 的设定说明。

v2.2.22026-10-18

发布柴犬门卫表情形态集。

v2.2.12026-10-18

为视觉资产保留商业使用权说明。

安装与使用

先安装,再跑一个最小示例。

PHP >= 8.0完整 README
安装
composer require erikwang2013/jwt-webman
最小示例
require __DIR__ . '/vendor/autoload.php';

use Erikwang2013\Jwt\Native\Guard;

$guard = Guard::fromFile(__DIR__ . '/config/jwt.php');

$payload = $guard->requireAuth();
$userId = $payload['user_id'];

钥匙小卫的十二种表情

门口值班,也会换十二种心情。

搜索本站

输入关键词,例如“上传”“迁移”“JWT”。