JWT (JSON Web Token) ist ein offener Standard, der in der Identitätsauthentifizierung und des Informationsaustauschs weit verbreitet ist. Es besteht aus drei Teilen: Header, Nutzlast und Signatur. JWT kann verwendet werden, um Benutzeridentitätsdaten zwischen Client und Server sicher zu übergeben.
Es ist sehr einfach, JWT -Funktionen in PHP zu integrieren, und es wird empfohlen, die von Firebase JWT bereitgestellte offizielle PHP -Bibliothek zu verwenden. Installieren Sie die Bibliothek über Komponist:
composer require firebase/php-jwt
Das Folgende ist die Standardmethode, um JWTs zu generieren, einschließlich der grundlegenden Identitätsinformationen des Benutzers:
<?php
require_once 'vendor/autoload.php';
use Firebase\JWT\JWT;
// Definieren Sie den Schlüssel
$key = "Schlüssel";
// Benutzerdatenlast erstellen
$payload = array(
"iss" => "example.org",
"sub" => "user_id",
"name" => "John Doe"
);
// erzeugen JWT
$jwt = JWT::encode($payload, $key);
echo $jwt;
?>
In diesem Code stellen wir die FireBase JWT -Bibliothek vor und verwenden die Methode jwt :: cnode (), um eine JWT -Zeichenfolge zu generieren, die Benutzerinformationen enthält.
Wenn ein Benutzer anfordert, müssen Sie überprüfen, ob das von ihm bereitgestellte JWT gültig ist. Das Folgende ist der Überprüfungs -Beispielcode:
<?php
require_once 'vendor/autoload.php';
use Firebase\JWT\JWT;
// Angenommen, das erhalten JWT
$jwt = "JWT";
// Schlüssel(需与erzeugen时一致)
$key = "Schlüssel";
try {
// Überprüfen und dekodieren JWT
$decoded = JWT::decode($jwt, $key, array('HS256'));
// Ausgabe dekodierter Benutzerinformationen
echo "BenutzerID: " . $decoded->sub . "<br>";
echo "Benutzer名: " . $decoded->name . "<br>";
} catch (Exception $e) {
echo 'Überprüfung fehlgeschlagen:' . $e->getMessage();
}
?>
In diesem Code erhalten wir den vom Client übergebenen JWT, führen die Signaturüberprüfung über den angegebenen Schlüssel durch und extrahieren Benutzerinformationen mit der Methode jwt :: decode () . Wenn das Token ungültig ist, wird eine Ausnahme geworfen und eine Fehlermeldung ausgegeben.
Durch die Verwendung von JWT können PHP -Anwendungen Daten sicherer authentifizieren und übertragen. Mit der Firebase JWT-PHP-Bibliothek können Entwickler schnell tokenbasierte Sicherheitsauthentifizierungsmechanismen integrieren, um ein leichtes und effizientes Berechtigungsmanagement zu erreichen.