发布于 2023-08-22 15:31:40 浏览 184 次
composer require firebase/php-jwt
1、首先,确保已安装 firebase/php-jwt 库。可以使用 Composer 进行安装:
3、
use Firebase\JWT\JWT;
2、在 PHP 文件中引入 JWT 类:
4、
// 设置有效载荷数据
$payload = array(
"user_id" => 123,
"username" => "john.doe"
);
// 设置密钥
$key = "your_secret_key";
// 生成 JWT
$jwt = JWT::encode($payload, $key);
3、生成 JWT:
5、
try {
// 解码 JWT
$decoded = JWT::decode($jwt, $key, array('HS256'));
// 验证成功!
echo $decoded->user_id;
echo $decoded->username;
}
catch (Exception $e) {
// 验证失败
echo "验证失败:".$e->getMessage();
}
4、解码和验证 JWT:
6、
在上面的示例中,我们使用了 encode 方法生成 JWT,并使用给定的密钥进行签名。然后,使用 decode 方法对 JWT 进行解码和验证,如果验证成功,则可以访问 JWT 中的声明数据。
7、
需要注意的是,上述示例中使用的是对称加密算法(HS256)。如果需要使用其他加密算法,可以在生成 JWT 和解码时选择适当的算法。
8、
此外,根据具体需求,可以在有效载荷中添加自定义的声明数据,例如过期时间、发行人等。在解码和验证 JWT 时,也可以根据需要进行更复杂的验证操作。
9、
以上是使用 firebase/php-jwt 库实现 JWT 的简单示例,你还可以了解其他 JWT 库的使用方法,如 lcobucci/jwt 等。