JSON Web Token(JWT)は、ネットワーク上の情報を送信するために使用されるオープン標準(RFC 7519)です。 JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。ヘッダーには、トークンタイプと署名アルゴリズムが含まれています。ペイロードは、送信されるデータを保存し、署名はトークンの信頼性を検証するために使用されます。
ThinkPhp6でJWTを使用するには、Composer.jsonファイルにThink-JWTコンポーネントを導入して、まず実装する必要があります。 「think-jwt」: "1.0。*"をファイルの要求ノードに追加し、Composer Updateコマンドを実行してコンポーネントをインストールします。
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を生成してクライアントに返します。
ThinkPhp6では、JWTクラスの検証方法を通じてJWTの有効性を検証できます。
Think \ jwt \ jwtを使用してください。
class usercontroller拡張コントローラー{
パブリック関数プロファイル(){
// jwtを確認します
$ jwt = input( 'token');
$ payload = jwt :: verify($ jwt);
return ['user_id' => $ payload ['user_id']];
}
}
上記のコードでは、最初にクライアントからJWTを取得し、次に検証のために検証方法を呼び出します。検証が渡された後、JWTでペイロードデータを取得できます。
この記事を通して、JWTの基本概念とThinkPhp6でそれらの使用方法を理解しています。認証にJWTを使用すると、インターフェイスのセキュリティを効果的に改善し、不正アクセスを防ぐことができます。実際の開発では、開発者はプロジェクトのセキュリティニーズを満たすためのニーズに応じてJWT構成を調整できます。