現在の位置: ホーム> 最新記事一覧> ThinkPhp6でJWT認定の実装:包括的なチュートリアルと実用コード

ThinkPhp6でJWT認定の実装:包括的なチュートリアルと実用コード

gitbox 2025-06-18

1。JWTとは何ですか

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

2。ThinkPhp6でのJWTの使用

ThinkPhp6では、JWT認証はThink-JWTコンポーネントを導入することで実装できます。 composer.jsonファイルに対応する依存関係を追加してインストールするだけです。

{
    "必要とする": {
        「think-jwt」:「1.0。*」
    }
}

インストールが完了した後、次のコードを使用してJWT認証を実行できます。

2.1 JWTを生成します

ThinkPhp6では、JWTはJWTクラスを通じて生成されます。まず、JWTに関連する構成項目を含む「JWT.PHP」構成ファイルを作成する必要があります。このファイルは、 `config`ディレクトリに配置する必要があります。

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

次に、コントローラーにJWTクラスを導入し、「create」メソッドを呼び出してJWTを生成します。

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

クラスusercontrollerはコントローラーを拡張します
{
    パブリック関数ログイン()
    {
        //ユーザー名前とパスワードを確認します...

        // jwtを生成するします
        $ payload = [
            'user_id' => $ user-> id
        ];
        $ jwt = jwt :: create($ payload);

        return ['token' => $ jwt];
    }
}

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

2.2 JWTを確認します

ThinkPhp6では、JWTの有効性をJWTクラスを通じて検証できます。コントローラーにJWTクラスを紹介し、検証のために「検証」メソッドを呼び出します。

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

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

        return ['user_id' => $ payload ['user_id']];
    }
}

上記のコードでは、クライアントから送信されたJWTを取得し、検証のために「検証」メソッドを呼び出します。検証が成功した後、JWTでペイロードデータを取得できます。

3。概要

この記事を通して、JWTの基本概念と、ThinkPhp6の認証にJWTを使用する方法を理解しています。 JWT認証は、インターフェイスセキュリティを効果的に保護し、不正アクセスを防ぐことができます。開発者は、プロジェクトの要件に従って構成をカスタマイズして、認証メカニズムのセキュリティと柔軟性を確保できます。