多算法签发
支持 HS256、HS384、HS512 与 RS256,验证时带时间容差。
核心不依赖任何框架 helper,配置、日志、数据库与 Redis 连接都从外部注入,六框架适配层只负责容器接线。
七种接入方式共用一套配置结构,黑名单可在 file、redis、database、memcached 四种后端之间切换,存储失败时可配置放行或拒绝。
一只扁平卡通的柴犬门卫:项圈上六颗金色圆钉代表六个框架适配层,脖子下挂着金色钥匙吊牌,钥匙柄上嵌着蓝色盾牌。
替每个请求验明正身。令牌生命周期的每一步都由同一套内核接管。
支持 HS256、HS384、HS512 与 RS256,验证时带时间容差。
换发新令牌时旧 jti 自动进入黑名单,刷新令牌不可复用。
file、redis、database、memcached 按配置切换。
Native\Guard 读取 Bearer Token,统一输出 401 JSON。
七种接入方式各有中间件、过滤器或请求守卫。
存储操作失败自动重试,故障时可配置放行或拒绝。
PHP 版之外,也可以用 Rust 实现同一套 JWT 认证。
Rust 多框架 JWT 认证
框架无关 JWT 内核,支持 HS256、HS384、HS512 与 RS256,内置刷新轮换、四种黑名单存储与九种接入方式。
四次关键发布,补齐框架适配与项目宠物。
修正 Memcached 用例的调用状态断言,发布前补跑测试。
把 12 种宠物形态接入 Mascot API,代码里可直接取用。
完成扁平卡通吉祥物、整套表情与 Social Preview。
新增 Yii2、Yii3 框架适配,修复 Yii2 动态属性导致的认证必崩。
点击图片放大查看。
先安装,再跑一个最小示例。
composer require erikwang2013/jwt-webmanrequire __DIR__ . '/vendor/autoload.php';
use Erikwang2013\Jwt\Native\Guard;
$guard = Guard::fromFile(__DIR__ . '/config/jwt.php');
$payload = $guard->requireAuth();
$userId = $payload['user_id'];cargo add jwt-rustuse std::path::Path;
use jwt_rust::factory::JwtFactory;
let jwt = JwtFactory::from_file(Path::new("jwt.toml"))?;
let token = jwt.encode(&serde_json::json!({"user_id": 1}), None)?;
let payload = jwt.decode(&token)?;
let user_id = payload["user_id"].as_i64();门口值班,也会换十二种心情。