現在の位置: ホーム> 最新記事一覧> ThinkPhp6でJWT認証の実装:完全なチュートリアルとコードの例

ThinkPhp6でJWT認証の実装:完全なチュートリアルとコードの例

gitbox 2025-06-18

1。JWTとは何ですか

JSON Web Token(JWT)は、ネットワーク上の情報を送信するために使用されるオープン標準(RFC 7519)です。 JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。ヘッダーには、トークンタイプと署名アルゴリズムが含まれています。ペイロードは、送信されるデータを保存し、署名はトークンの信頼性を検証するために使用されます。

2。ThinkPhp6でのJWTの使用

ThinkPhp6でJWTを使用するには、Composer.jsonファイルにThink-JWTコンポーネントを導入して、まず実装する必要があります。 「think-jwt」: "1.0。*"をファイルの要求ノードに追加し、Composer Updateコマンドを実行してコンポーネントをインストールします。

2.1 JWTを生成します

ThinkPhp6では、JWTクラスを通じてJWTを生成できます。まず、JWT関連の構成アイテムを含むJWT.PHP構成ファイルを作成する必要があります。

        戻る [
            //署名前キー「secret」=> 'my_secret'、
            //有効期限、ユニットは2番、デフォルトは1時間「タームカットれ」=> 3600、
        ];
    

次に、コントローラーにJWTクラスを導入し、Createメソッドを使用してJWTを生成します。

        Think \ jwt \ jwtを使用してください。

        class usercontroller拡張コントローラー{
            public function login(){
                //ユーザー名前とパスワードを確認します...
                
                // jwtを生成するします
                $ payload = [
                    'user_id' => $ user-> id
                ];
                $ jwt = jwt :: create($ payload);
                
                return ['token' => $ jwt];
            }
        }
    

上記のコードでは、最初にユーザー名とパスワードを確認し、確認後、JWTを生成してクライアントに返します。

2.2 JWTを確認します

ThinkPhp6では、JWTクラスの検証方法を通じてJWTの有効性を検証できます。

        Think \ jwt \ jwtを使用してください。

        class usercontroller拡張コントローラー{
            パブリック関数プロファイル(){
                // jwtを確認します
                $ jwt = input( 'token');
                $ payload = jwt :: verify($ jwt);
                
                return ['user_id' => $ payload ['user_id']];
            }
        }
    

上記のコードでは、最初にクライアントからJWTを取得し、次に検証のために検証方法を呼び出します。検証が渡された後、JWTでペイロードデータを取得できます。

3。概要

この記事を通して、JWTの基本概念とThinkPhp6でそれらの使用方法を理解しています。認証にJWTを使用すると、インターフェイスのセキュリティを効果的に改善し、不正アクセスを防ぐことができます。実際の開発では、開発者はプロジェクトのセキュリティニーズを満たすためのニーズに応じてJWT構成を調整できます。