Aktueller Standort: Startseite> Neueste Artikel> Implementierung der JWT -Zertifizierung in ThinkPhp6: umfassende Tutorials und praktischer Code

Implementierung der JWT -Zertifizierung in ThinkPhp6: umfassende Tutorials und praktischer Code

gitbox 2025-06-18

1. Was ist jwt

JSON Web Token (JWT) ist ein offener Standard (RFC 7519), mit dem Informationen im Netzwerk sicher übertragen werden. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. Der Header enthält normalerweise den Typ des Tokens und den verwendeten Signaturalgorithmus, die Nutzlast enthält die zu übertragbaren Daten und die Signatur wird verwendet, um die Authentizität des Tokens zu überprüfen.

2. Die Verwendung von JWT in ThinkPhp6

In ThinkPhp6 kann die JWT-Authentifizierung durch Einführung der Think-JWT-Komponente implementiert werden. Fügen Sie einfach die entsprechenden Abhängigkeiten in die Datei composer.json hinzu und installieren Sie sie.

{
    "erfordern": {
        "Denk-jwt": "1.0.*"
    }
}

Nach Abschluss der Installation können Sie die JWT -Authentifizierung über den folgenden Code durchführen:

2.1 JWT erzeugen

In ThinkPhp6 wird JWT durch die JWT -Klasse generiert. Zunächst müssen Sie eine Konfigurationsdatei `jwt.php` erstellen, die die entsprechenden Konfigurationselemente für JWT enthält. Diese Datei sollte sich im Verzeichnis "config" befinden.

Zurückkehren [
    // Signaturschlüssel 'Secret' => 'my_secret',
    // Ablaufzeit, Einheit ist Sekunden, Standard ist 1 Stunde 'Ablauf' => 3600,
];

Stellen Sie dann die JWT -Klasse in den Controller ein und rufen Sie die "Create" -Methode auf, um die JWT zu generieren.

Verwenden Sie Think \ jwt \ jwt;

Klasse UserController erweitert den Controller
{
    Login der öffentlichen Funktion ()
    {
        // Benutzername und Passwort überprüfen ...

        // JWT erzeugen
        $ payload = [
            'user_id' => $ user-> id
        ];
        $ jwt = jwt :: create ($ payload);

        return ['token' => $ jwt];
    }
}

Überprüfen Sie im obigen Code zuerst den Benutzernamen und das Kennwort und generieren Sie nach der Überprüfung einen JWT und geben Sie ihn an den Client zurück.

2.2 Überprüfen Sie JWT

In ThinkPhp6 kann die Gültigkeit von JWT durch die JWT -Klasse überprüft werden. Führen Sie die JWT -Klasse in den Controller ein und rufen Sie die "Verify" -Methode zur Überprüfung auf.

Verwenden Sie Think \ jwt \ jwt;

Klasse UserController erweitert den Controller
{
    öffentliches Funktionsprofil ()
    {
        // JWT überprüfen
        $ jwt = input ('token');
        $ payload = jwt :: verifizieren ($ jwt);

        return ['user_id' => $ payload ['user_id']];
    }
}

Im obigen Code erhalten wir den vom Client gesendeten JWT und rufen die "Verify" -Methode zur Überprüfung auf. Nachdem die Überprüfung erfolgreich ist, können Sie die Nutzlastdaten im JWT erhalten.

3. Zusammenfassung

In diesem Artikel verstehen wir die grundlegenden Konzepte von JWT und wie JWT zur Authentifizierung in ThinkPhp6 verwendet. Die JWT -Authentifizierung kann die Sicherheit der Schnittstelle effektiv schützen und einen unbefugten Zugriff verhindern. Entwickler können Konfigurationen entsprechend den Projektanforderungen anpassen, um die Sicherheit und Flexibilität des Authentifizierungsmechanismus zu gewährleisten.