JWT简单应用实例

云游道人 2025-10-13 9 阅读 0评论

在 PHP 中使用 JWT(JSON Web Token)可以通过一些库来简化操作。最常用的库之一是 firebase/php-jwt。下面是一个简单的示例,展示如何生成和验证 JWT。


安装 firebase/php-jwt

首先,确保你已经安装了 Composer。然后在你的项目中运行以下命令来安装 firebase/php-jwt:


composer require firebase/php-jwt


生成 JWT

以下是一个生成 JWT 的示例:

<?php

require 'vendor/autoload.php';


use \Firebase\JWT\JWT;


$key = "your_secret_key"; // 替换为你的密钥

$payload = [

    "iss" => "http://yourdomain.com", // 发行者

    "aud" => "http://yourdomain.com", // 接收者

    "iat" => time(), // 签发时间

    "exp" => time() + 3600, // 过期时间(1小时)

    "data" => [

        "userId" => 123, // 用户ID

        "username" => "exampleUser" // 用户名

    ]

];


// 生成 JWT

$jwt = JWT::encode($payload, $key);

echo "Generated JWT: " . $jwt;

?>

验证 JWT

以下是一个验证 JWT 的示例:

<?php

require 'vendor/autoload.php';


use \Firebase\JWT\JWT;

use \Firebase\JWT\ExpiredException;


$key = "your_secret_key"; // 替换为你的密钥

$jwt = "your_jwt_token"; // 替换为你要验证的 JWT


try {

    // 解码 JWT

    $decoded = JWT::decode($jwt, $key, ['HS256']);

    print_r($decoded);

} catch (ExpiredException $e) {

    echo "Token has expired.";

} catch (Exception $e) {

    echo "Error decoding token: " . $e->getMessage();

}

?>

注意事项

密钥管理:确保你的密钥安全,不要在代码中硬编码敏感信息。可以考虑使用环境变量来存储密钥。

过期时间:合理设置 JWT 的过期时间,避免长期有效的令牌带来的安全风险。

HTTPS:在生产环境中,确保通过 HTTPS 传输 JWT,以防止中间人攻击。

以上是一个简单的 PHP JWT 使用示例,你可以根据自己的需求进行扩展和修改。

喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 9人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表