利用 firebase/php-jwt 库,在 PHP 中创建、解析、验证和获取 JWT 令牌的步骤:1. 安装库;2. 使用 JWT 类创建令牌;3. 使用 JWT::decode() 解析令牌;4. 使用 JWT::verify() 验证令牌;5. 获取有效载荷。

如何使用 PHP JWT
JSON Web 令牌 (JWT) 是一种轻量级、紧凑的数据结构,用于在各方之间安全地传输信息。在 PHP 中使用 JWT 非常简单,只需几个步骤:
1. 安装依赖
使用 Composer 安装 firebase/php-jwt 库:
立即学习“PHP免费学习笔记(深入)”;
composer require firebase/php-jwt
2. 创建令牌
使用 JWT 类创建一个新 JWT:
use Firebase\JWT\JWT; $payload = ['user_id' => 1, 'exp' => time() + 3600]; // 有效期为一小时 $token = JWT::encode($payload, 'your_secret_key');
3. 解析令牌
要解析 JWT,请使用 JWT::decode() 方法:
$decoded_token = JWT::decode($token, 'your_secret_key', ['HS256']);
4. 验证令牌
验证令牌是否有效,请使用 JWT::verify() 方法:
try {
JWT::verify($token, 'your_secret_key', ['HS256'], 300); // 允许在签发后 5 分钟内使用令牌
// 令牌有效
} catch (Exception $e) {
// 令牌无效
}5. 获取有效载荷
要获取 JWT 的有效载荷,请使用 $decoded_token->payload:
$user_id = $decoded_token->payload->user_id;
提示:
- 将
your_secret_key替换为应用程序的唯一密钥。 -
exp字段指定令牌的到期时间。 -
HS256是 JWT 签名的算法,可以更改为其他算法(例如 RS256)。











