Position actuelle: Accueil> Derniers articles> Utilisez JWT (Token Web JSON) pour implémenter la vérification de la sécurité PHP

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

M66 2025-06-04

Introduction à JWT en php

JWT (JSON Web Token) est une norme ouverte largement utilisée dans l'authentification de l'identité et l'échange d'informations. Il se compose de trois parties: en-tête, charge utile et signature. JWT peut être utilisé pour transmettre en toute sécurité les données d'identité de l'utilisateur entre le client et le serveur.

Préparation pour intégrer JWT dans le projet PHP

Il est très simple d'intégrer les fonctions JWT dans PHP, et il est recommandé d'utiliser la bibliothèque PHP officielle fournie par Firebase JWT . Installez la bibliothèque via le compositeur:

 composer require firebase/php-jwt

Exemple de code pour générer JWT

Ce qui suit est le moyen standard de générer des JWT, y compris les informations d'identité de base de l'utilisateur:

 
<?php

require_once 'vendor/autoload.php';

use Firebase\JWT\JWT;

// Définir la clé
$key = "Clé";

// Créer une charge de données utilisateur
$payload = array(
    "iss" => "example.org",
    "sub" => "user_id",
    "name" => "John Doe"
);

// générer JWT
$jwt = JWT::encode($payload, $key);
echo $jwt;

?>

Dans ce code, nous présentons la bibliothèque JWT Firebase et utilisons la méthode JWT :: Encode () pour générer une chaîne JWT contenant des informations utilisateur.

Vérifiez comment JWT est implémenté

Lorsqu'un utilisateur demande, il est nécessaire de vérifier que le JWT qu'il fournit est valide. Ce qui suit est l'exemple de vérification du code:

 
<?php

require_once 'vendor/autoload.php';

use Firebase\JWT\JWT;

// Supposer que celui reçu JWT
$jwt = "JWT";

// Clé(需与générer时一致)
$key = "Clé";

try {
    // Vérifier et décoder JWT
    $decoded = JWT::decode($jwt, $key, array('HS256'));

    // Sortie d&#39;informations utilisateur décodées
    echo "utilisateurID: " . $decoded->sub . "<br>";
    echo "utilisateur名: " . $decoded->name . "<br>";

} catch (Exception $e) {
    echo 'Échec de la vérification:' . $e->getMessage();
}

?>

Dans ce code, nous recevons le JWT passé par le client, effectuons une vérification de signature via la touche spécifiée et extrait les informations utilisateur à l'aide de la méthode JWT :: Decode () . Si le jeton n'est pas valide, une exception est lancée et un message d'erreur est sorti.

Résumer

L'utilisation de JWT permet aux applications PHP d'authentifier et de transférer des données plus solides. Avec la bibliothèque Firebase JWT PHP, les développeurs peuvent rapidement intégrer les mécanismes d'authentification de la sécurité basés sur des jetons pour obtenir une gestion des autorisations légères et efficaces.