利用 firebase/php-jwt 库,在 PHP 中创建、解析、验证和获取 JWT 令牌的步骤:1. 安装库;2. 使用 JWT 类创建令牌;3. 使用 JWT::decode() 解析令牌;4. 使用 JWT::verify() 验证令牌;5. 获取有效载荷。
如何使用 PHP JWT
JSON Web 令牌 (JWT) 是一种轻量级、紧凑的数据结构,用于在各方之间安全地传输信息。在 PHP 中使用 JWT 非常简单,只需几个步骤:
1. 安装依赖
使用 Composer 安装
库:
立即学习
“
PHP免费学习笔记(深入)
”;
2. 创建令牌
使用
类创建一个新 JWT:
3. 解析令牌
Composer 2.9.6
Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。
下载
要解析 JWT,请使用
方法:
4. 验证令牌
验证令牌是否有效,请使用
方法:
5. 获取有效载荷
要获取 JWT 的有效载荷,请使用
:
提示:
将
替换为应用程序的唯一密钥。
字段指定令牌的到期时间。
是 JWT 签名的算法,可以更改为其他算法(例如 RS256)。
firebase/php-jwtcomposer require firebase/php-jwtJWTuse Firebase\JWT\JWT;
$payload = ['user_id' => 1, 'exp' => time() + 3600]; // 有效期为一小时
$token = JWT::encode($payload, 'your_secret_key');JWT::decode()$decoded_token = JWT::decode($token, 'your_secret_key', ['HS256']);JWT::verify()try {
JWT::verify($token, 'your_secret_key', ['HS256'], 300); // 允许在签发后 5 分钟内使用令牌
// 令牌有效
} catch (Exception $e) {
// 令牌无效
}$decoded_token->payload$user_id = $decoded_token->payload->user_id;your_secret_keyexpHS256