現在の位置: ホーム> 最新記事一覧> JWT(JSON Webトークン)を使用して、PHPセキュリティ検証を実装する

JWT(JSON Webトークン)を使用して、PHPセキュリティ検証を実装する

M66 2025-06-04

PHPのJWTの紹介

JWT(JSON Web Token)は、ID認証と情報交換で広く使用されているオープン標準です。ヘッダー、ペイロード、署名の3つの部分で構成されています。 JWTは、クライアントとサーバー間のユーザーIDデータを安全に渡すために使用できます。

PHPプロジェクトにJWTを統合するための準備

JWT関数をPHPに統合することは非常に簡単であり、 FireBase JWTが提供する公式PHPライブラリを使用することをお勧めします。作曲家からライブラリをインストールします。

 composer require firebase/php-jwt

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の実装方法を確認します

ユーザーが要求する場合、提供する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ライブラリを使用すると、開発者はトークンベースのセキュリティ認証メカニズムを迅速に統合して、軽量で効率的な許可管理を実現できます。