在分布式系統中,PHP JWT(JSON Web Token)可以用于安全地傳輸用戶身份信息、授權信息和其他敏感數據。以下是使用 PHP JWT 在分布式系統中的應用步驟:
composer require firebase/php-jwt
require_once 'vendor/autoload.php';
use \Firebase\JWT\JWT;
use \Firebase\JWT\Key;
$key = "your-secret-key";
$payload = array(
"iss" => "http://example.org",
"iat" => time(),
"exp" => time() + 3600,
"userId" => $userId
);
$jwt = JWT::encode($payload, $key, 'HS256');
require_once 'vendor/autoload.php';
use \Firebase\JWT\JWT;
use \Firebase\JWT\Key;
$key = "your-secret-key";
$jwt = "your-received-jwt";
try {
$decoded = JWT::decode($jwt, new Key($key, 'HS256'));
// 驗證成功,繼續處理請求
} catch (Exception $e) {
// 驗證失敗,返回錯誤信息
echo "Invalid JWT: " . $e->getMessage();
}
跨域資源共享(CORS):在分布式系統中,確保 CORS 設置正確,以允許來自不同域的請求。這可以通過在服務器端配置 CORS 來實現。
使用 HTTPS:為了確保 JWT 在傳輸過程中的安全性,建議使用 HTTPS 對所有請求進行加密。
通過以上步驟,你可以在分布式系統中使用 PHP JWT 來安全地傳輸用戶身份信息、授權信息和其他敏感數據。