<?php
require 'vendor/autoload.php'; // 引入Composer自动加载文件
use \Firebase\JWT\JWT; // 使用Firebase JWT库
$key = "example_key"; // 定义密钥
$payload = array(
"iss" => "http://example.org", // 发行方
"aud" => "http://example.com", // 接收方
"iat" => 1356999524, // 签发时间
"nbf" => 1357000000, // 在此之前不可用
"exp" => 1357000000, // 过期时间
"data" => array( // 自定义数据
"user_id" => 123,
"username" => "admin"
)
);
// 创建JWT
$jwt = JWT::encode($payload, $key);
echo "JWT: " . $jwt . "\n";
// 验证JWT
try {
$decoded = JWT::decode($jwt, $key, array('HS256'));
echo "Decoded:\n";
print_r($decoded);
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
?>
require 'vendor/autoload.php'; 引入Composer自动加载文件,确保可以使用JWT库。$key 是用于签名和验证的密钥,必须保密。$payload 包含了JWT的有效载荷(claims),包括标准声明如 iss(发行方)、aud(接收方)、iat(签发时间)等,以及自定义数据如用户ID和用户名。JWT::encode() 方法生成JWT字符串。JWT::decode() 方法解码并验证JWT。如果验证失败,会抛出异常。如果你没有安装JWT库,可以通过Composer安装:
composer require firebase/php-jwt
上一篇:php 字符串包含
下一篇:php字符串包含某个字符串
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站