Heim >Backend-Entwicklung >PHP-Tutorial >Verwenden Sie JWT (JSON Web Token), um die PHP-Sicherheitsüberprüfung zu implementieren

Verwenden Sie JWT (JSON Web Token), um die PHP-Sicherheitsüberprüfung zu implementieren

WBOY
WBOYOriginal
2023-07-24 23:55:451316Durchsuche

Verwenden Sie JWT (JSON Web Token), um die PHP-Sicherheitsüberprüfung zu implementieren.

JWT (JSON Web Token) ist ein offener Standard für Authentifizierung und Autorisierung. Es besteht aus drei Teilen: Header, Payload und Signatur. Der Header enthält normalerweise den Algorithmus und den Token-Typ, die Nutzlast enthält Benutzerinformationen und andere relevante Daten und die Signatur wird zur Überprüfung der Integrität des Tokens verwendet.

In PHP gibt es Bibliotheken, mit denen sich die JWT-Generierung und -Verifizierung einfach implementieren lässt. In diesem Artikel wird erläutert, wie Sie mit der Firebase JWT PHP-Bibliothek eine JWT-Generierung und -Überprüfung durchführen. Der Beispielcode lautet wie folgt:

Schritt 1: Installieren Sie die Firebase JWT PHP-Bibliothek.
Zuerst müssen Sie die Firebase JWT PHP-Bibliothek installieren Komponist. Öffnen Sie das Terminal, wechseln Sie in das Projektverzeichnis und führen Sie den folgenden Befehl aus:

composer require firebase/php-jwt

Schritt 2: JWT generieren
Der folgende Beispielcode zeigt, wie JWT generiert wird:

<?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;
?>

Im obigen Code müssen Sie zuerst die Firebase einführen JWT PHP-Bibliothek und definieren Sie dann einen Schlüssel. Erstellen Sie als Nächstes ein assoziatives Array mit Benutzerinformationen als Nutzlast, das alle erforderlichen Benutzerinformationen enthalten kann. Verwenden Sie abschließend die Methode JWT::encode(), um JWT zu generieren und an die Konsole auszugeben. 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()

Schritt 3: JWT überprüfen

Hier ist der Beispielcode zum Überprüfen von JWT:
rrreee

Im obigen Code stellen Sie zunächst die Firebase JWT PHP-Bibliothek vor. Anschließend wird das JWT empfangen und der angegebene Schlüssel zur Überprüfung der Signatur verwendet. Verwenden Sie dann die Methode JWT::decode(), um die Integrität des JWT zu überprüfen und die dekodierten Benutzerinformationen auf der Seite auszugeben. 🎜🎜Zusammenfassung🎜JWT ist ein sehr praktischer Authentifizierungs- und Autorisierungsmechanismus. Mithilfe der Firebase JWT PHP-Bibliothek können wir die JWT-Generierung und -Überprüfung problemlos in PHP implementieren. Dieser Artikel bietet einfachen Beispielcode, auf den sich die Leser beziehen und von dem sie lernen können. 🎜

Das obige ist der detaillierte Inhalt vonVerwenden Sie JWT (JSON Web Token), um die PHP-Sicherheitsüberprüfung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn