Aktueller Standort: Startseite> Neueste Artikel> Implementierung der JWT -Authentifizierung in ThinkPhp6: Vollständige Tutorials und Codebeispiele

Implementierung der JWT -Authentifizierung in ThinkPhp6: Vollständige Tutorials und Codebeispiele

gitbox 2025-06-18

1. Was ist jwt

JSON Web Token (JWT) ist ein offener Standard (RFC 7519), mit dem Informationen im Netzwerk übertragen werden. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. Der Header enthält den Token -Typ und den Signaturalgorithmus. Die Nutzlast speichert 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

Um JWT in ThinkPhp6 zu verwenden, müssen Sie es zunächst implementieren, indem Sie die Think-JWT-Komponente in die Datei composer.json einführen. Fügen Sie "Think-Jwt": "1.0.*" Zum benötigten Knoten der Datei hinzu und führen Sie dann den Befehl composer update aus, um die Komponente zu installieren.

2.1 JWT erzeugen

In ThinkPhp6 kann JWT über die JWT -Klasse generiert werden. Zunächst müssen Sie eine JWT.PHP-Konfigurationsdatei erstellen, die JWT-bezogene Konfigurationselemente enthält.

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

Führen Sie dann die JWT -Klasse in den Controller ein und verwenden Sie die Erstellung des JWT.

        Verwenden Sie Think \ jwt \ jwt;

        Klasse UserController erweitert Controller {
            öffentliche Funktion login () {
                // 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 zunächst den Benutzernamen und das Benutzername und generieren Sie nach der Überprüfung das JWT und senden Sie ihn an den Client zurück.

2.2 Überprüfen Sie JWT

In ThinkPhp6 kann die Gültigkeit von JWT durch die Verifizierungsmethode der JWT -Klasse verifiziert werden.

        Verwenden Sie Think \ jwt \ jwt;

        Klasse UserController erweitert Controller {
            öffentliches Funktionsprofil () {
                // JWT überprüfen
                $ jwt = input ('token');
                $ payload = jwt :: verifizieren ($ jwt);
                
                return ['user_id' => $ payload ['user_id']];
            }
        }
    

Holen Sie sich im obigen Code zuerst das JWT vom Client und rufen Sie dann die Überprüfungsmethode an. Nachdem die Überprüfung bestanden wurde, können Sie die Nutzlastdaten im JWT erhalten.

3. Zusammenfassung

In diesem Artikel verstehen wir die grundlegenden Konzepte von JWT und wie man sie in ThinkPhp6 verwendet. Die Verwendung von JWT zur Authentifizierung kann die Sicherheit der Schnittstelle effektiv verbessern und einen unbefugten Zugriff verhindern. In der tatsächlichen Entwicklung können Entwickler die JWT -Konfiguration entsprechend ihren Anforderungen an die Sicherheitsanforderungen des Projekts anpassen.