利用 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 库:
<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15906.html" target="_blank">composer</a> require firebase/php-jwt
登录后复制
2. 创建令牌
使用 JWT 类创建一个新 JWT:
use FirebaseJWTJWT; $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)。
以上就是php jwt怎么用的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:牧草,转转请注明出处:https://www.dingdanghao.com/article/561612.html