Maison  >  Article  >  développement back-end  >  Utilisez JWT (JSON Web Token) pour implémenter la vérification de sécurité PHP

Utilisez JWT (JSON Web Token) pour implémenter la vérification de sécurité PHP

WBOY
WBOYoriginal
2023-07-24 23:55:451274parcourir

Utilisez JWT (JSON Web Token) pour implémenter la vérification de sécurité PHP

JWT (JSON Web Token) est un standard ouvert pour l'authentification et l'autorisation. Il se compose de trois parties : en-tête, charge utile et signature. L'en-tête contient généralement l'algorithme et le type de jeton, la charge utile contient des informations utilisateur et d'autres données pertinentes, et la signature est utilisée pour vérifier l'intégrité du jeton.

En PHP, il existe des bibliothèques qui peuvent être utilisées pour implémenter facilement la génération et la vérification JWT. Cet article explique comment utiliser la bibliothèque PHP Firebase JWT pour réaliser la génération et la vérification JWT. L'exemple de code est le suivant :

Étape 1 : Installez la bibliothèque PHP Firebase JWT
Tout d'abord, vous devez installer la bibliothèque PHP Firebase JWT via. Compositeur. Ouvrez le terminal, accédez au répertoire du projet et exécutez la commande suivante :

composer require firebase/php-jwt

Étape 2 : Générer JWT
L'exemple de code suivant montre comment générer JWT :

<?php

require_once 'vendor/autoload.php';

use FirebaseJWTJWT;

// 生成 JWT 密钥
$key = "密钥";

// 载荷,包含用户信息
$payload = array(
    "iss" => "example.org",
    "sub" => "user_id",
    "name" => "John Doe"
);

// 生成 JWT
$jwt = JWT::encode($payload, $key);
echo $jwt;
?>

Dans le code ci-dessus, vous devez d'abord introduire le Firebase Bibliothèque JWT PHP, puis définissez une clé. Ensuite, créez un tableau associatif contenant des informations utilisateur en tant que charge utile, qui peut contenir toutes les informations utilisateur requises. Enfin, utilisez la méthode JWT::encode() pour générer JWT et l'afficher sur la console. JWT::encode() 方法生成 JWT,并输出到控制台。

Step 3: 验证 JWT
下面是如何验证 JWT 的示例代码:

<?php

require_once 'vendor/autoload.php';

use FirebaseJWTJWT;

// 接收到的 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();
}
?>

在上述代码中,首先引入 Firebase JWT PHP 库。然后,接收到 JWT,并指定密钥用于验证签名。然后,使用 JWT::decode()

Étape 3 : Vérifier JWT

Voici l'exemple de code sur la façon de vérifier JWT :
rrreee

Dans le code ci-dessus, introduisez d'abord la bibliothèque PHP Firebase JWT. Ensuite, le JWT est reçu et la clé spécifiée est utilisée pour vérifier la signature. Ensuite, utilisez la méthode JWT::decode() pour vérifier l'intégrité du JWT et afficher les informations utilisateur décodées sur la page. 🎜🎜Résumé🎜JWT est un mécanisme d'authentification et d'autorisation très pratique En utilisant la bibliothèque PHP Firebase JWT, nous pouvons facilement implémenter la génération et la vérification JWT en PHP. Cet article fournit un exemple de code simple auquel les lecteurs peuvent se référer et dont ils peuvent tirer des leçons. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn