溫馨提示×

php jwt怎樣設置過期時間

PHP
小樊
81
2024-11-19 06:05:33
欄目: 編程語言

在PHP中,使用JSON Web Tokens(JWT)時,可以通過在生成令牌時設置exp聲明來指定過期時間。exp聲明代表令牌的過期時間,它是一個UNIX時間戳。以下是一個使用firebase/php-jwt庫生成帶有過期時間的JWT的示例:

首先,確保已經(jīng)安裝了firebase/php-jwt庫。如果尚未安裝,可以使用Composer進行安裝:

composer require firebase/php-jwt

然后,使用以下代碼生成一個帶有過期時間的JWT:

require_once 'vendor/autoload.php';

use \Firebase\JWT\JWT;
use \Firebase\JWT\Key;

// 秘鑰,用于簽名和驗證令牌
$key = "your-secret-key";

// 載荷數(shù)據(jù),可以包含任何需要的信息
$payload = array(
    "iss" => "http://example.org",
    "iat" => time(), // 令牌的簽發(fā)時間
    "exp" => time() + 3600, // 令牌的過期時間,單位:秒。這里設置為1小時后過期
    "data" => array(
        "userId" => 12345,
        "username" => "exampleUser"
    )
);

// 生成JWT
$jwt = JWT::encode($payload, $key, 'HS256');

echo "Generated JWT: " . $jwt . "\n";

在這個示例中,我們設置了一個1小時后過期的JWT。time()函數(shù)返回當前的UNIX時間戳,所以exp聲明的值將是當前時間戳加上3600秒(1小時)。你可以根據(jù)需要調(diào)整過期時間。

0