JWT(JSON Web Token)は、ID認証と情報交換で広く使用されているオープン標準です。ヘッダー、ペイロード、署名の3つの部分で構成されています。 JWTは、クライアントとサーバー間のユーザーIDデータを安全に渡すために使用できます。
JWT関数をPHPに統合することは非常に簡単であり、 FireBase JWTが提供する公式PHPライブラリを使用することをお勧めします。作曲家からライブラリをインストールします。
composer require firebase/php-jwt
以下は、ユーザーの基本的なID情報を含むJWTを生成する標準的な方法です。
<?php
require_once 'vendor/autoload.php';
use Firebase\JWT\JWT;
// キーを定義します
$key = "鍵";
// ユーザーデータの負荷を作成します
$payload = array(
"iss" => "example.org",
"sub" => "user_id",
"name" => "John Doe"
);
// 生成する JWT
$jwt = JWT::encode($payload, $key);
echo $jwt;
?>
このコードでは、FireBase JWTライブラリを導入し、 JWT :: Encode()メソッドを使用して、ユーザー情報を含むJWT文字列を生成します。
ユーザーが要求する場合、提供するJWTが有効であることを確認する必要があります。以下は、検証サンプルコードです。
<?php
require_once 'vendor/autoload.php';
use Firebase\JWT\JWT;
// 受け取ったと仮定します JWT
$jwt = "JWT";
// 鍵(需与生成する时一致)
$key = "鍵";
try {
// 確認してデコードします JWT
$decoded = JWT::decode($jwt, $key, array('HS256'));
// 出力デコードされたユーザー情報
echo "ユーザーID: " . $decoded->sub . "<br>";
echo "ユーザー名: " . $decoded->name . "<br>";
} catch (Exception $e) {
echo '検証に失敗しました:' . $e->getMessage();
}
?>
このコードでは、クライアントが渡されたJWTを受信し、指定されたキーを介して署名検証を実施し、 JWT :: decode()メソッドを使用してユーザー情報を抽出します。トークンが無効である場合、例外がスローされ、エラーメッセージが出力されます。
JWTを使用すると、PHPアプリケーションがデータをより安全に認証および転送できるようになります。 FireBase JWT PHPライブラリを使用すると、開発者はトークンベースのセキュリティ認証メカニズムを迅速に統合して、軽量で効率的な許可管理を実現できます。