国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim PHP-Framework Swoole So verwenden Sie das Hyperf-Framework für die JWT-Authentifizierung

So verwenden Sie das Hyperf-Framework für die JWT-Authentifizierung

Oct 24, 2023 pm 12:36 PM
verwenden JWT -Zertifizierung Hyperf-Framework

So verwenden Sie das Hyperf-Framework für die JWT-Authentifizierung

So verwenden Sie das Hyperf-Framework für die JWT-Authentifizierung

Einführung:
Hyperf ist ein leistungsstarkes Coroutine-Framework auf Basis von Swoole, das umfangreiche Funktionen und flexible Skalierbarkeit bietet. JWT (JSON Web Token) ist ein offener Standard zur Authentifizierung und übertragung von Informationen. In diesem Artikel stellen wir die Verwendung der JWT-Authentifizierung im Hyperf-Framework vor und stellen spezifische Codebeispiele bereit.

1. Abh?ngigkeitspakete installieren
Zun?chst müssen wir die Abh?ngigkeitspakete hyperf/jwt und lcobucci/jwt installieren. Es kann über Composer installiert werden, ?ffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

composer require hyperf/jwt lcobucci/jwt

2. Authentifizierungsinformationen konfigurieren
Im Hyperf-Framework müssen wir die relevanten Informationen konfigurieren, die für die JWT-Authentifizierung erforderlich sind. ?ffnen Sie die Datei config/autoload/jwt.php und fügen Sie die folgenden Konfigurationselemente hinzu: config/autoload/jwt.php文件,添加如下配置項(xiàng):

<?php

return [
    'default' => [
        'valid_seconds' => env('JWT_VALID_SECONDS', 3600), // Token有效期
        'secret' => env('JWT_SECRET', 'your-secret-key'), // 對稱加密密鑰
        'refresh_ttl' => env('JWT_REFRESH_TTL', 20160), // Token刷新有效期
        'password_key' => env('JWT_PASSWORD_KEY', 'password'), // 密碼字段名稱
        'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true), // Token黑名單啟用
        'blacklist_grace_period' => env('JWT_BLACKLIST_GRACE_PERIOD', 60), // Token寬限期
        'claim' => [], // 自定義Claims
    ],
];

三、生成和解析JWT Token
首先,我們需要生成JWT Token。在控制器中引入HyperfJwtJwt類,并通過make()方法生成Token。示例代碼如下:

<?php

declare(strict_types=1);

namespace AppController;

use HyperfDiAnnotationInject;
use PsrHttpMessageResponseInterface;

class AuthController extends AbstractController
{
    /**
     * @Inject
     * @var HyperfJwtJwt
     */
    private $jwt;

    public function login(): ResponseInterface
    {
        // 對用戶進(jìn)行驗(yàn)證,驗(yàn)證通過后生成Token
        $userId = 1;
        $token = $this->jwt->make(['user_id' => $userId]);

        return $this->response->json([
            'token' => $token->toString(),
            'expires_at' => $token->getClaim('exp'),
        ]);
    }
}

接下來,我們需要在中間件中驗(yàn)證JWT Token并解析出用戶信息。在中間件中引入HyperfJwtMiddlewareJwtMiddleware類,并使用handle()方法進(jìn)行驗(yàn)證和解析。示例代碼如下:

<?php

declare(strict_types=1);

namespace AppMiddleware;

use HyperfDiAnnotationInject;
use HyperfHttpServerContractRequestInterface;
use HyperfHttpServerContractResponseInterface as HttpResponse;
use HyperfUtilsContext;
use HyperfUtilsStr;
use HyperfJwtExceptionTokenValidException;
use HyperfJwtJwtInterface;
use PsrContainerContainerInterface;

class JwtMiddleware
{
    /**
     * @Inject
     * @var HyperfJwtJwt
     */
    private $jwt;

    /**
     * @var JwtInterface
     */
    private $jwtFactory;

    /**
     * @var RequestInterface
     */
    private $request;

    /**
     * @var HttpResponse
     */
    private $response;

    public function __construct(ContainerInterface $container, JwtInterface $jwt, RequestInterface $request, HttpResponse $response)
    {
        $this->jwtFactory = $jwt;
        $this->request = $request;
        $this->response = $response;
    }

    public function handle($request, Closure $next)
    {
        $token = Str::replaceFirst('Bearer ', '', $this->request->header('Authorization')); // 從Header中獲取Token
        if (empty($token)) {
            throw new TokenValidException('Token not provided');
        }

        try {
            $token = $this->jwtFactory->parse($token); // 解析Token

            $claims = $token->claims(); // 獲取Token中的聲明
            Context::set('user_id', $claims->get('user_id')); // 設(shè)置用戶ID到上下文
        } catch (TokenValidException $e) {
            throw new TokenValidException('Invalid token', $e->getCode(), $e);
        }

        return $next($request);
    }
}

四、使用中間件進(jìn)行認(rèn)證
在路由中使用中間件進(jìn)行JWT認(rèn)證。打開config/routes.php文件,添加如下路由和中間件配置項(xiàng):

<?php

use AppMiddlewareJwtMiddleware;

Router::addGroup('/api', function () {
    Router::post('/login', 'AppControllerAuthController@login');

    // 需要認(rèn)證的路由
    Router::addGroup('/auth', function () {
        Router::get('/info', 'AppControllerAuthController@info');
    }, ['middleware' => [JwtMiddleware::class]]);
});

在上面的示例中,AppControllerAuthController@inforrreee

3. JWT-Token generieren und analysieren

Zuerst müssen wir das JWT-Token generieren. Führen Sie die Klasse HyperfJwtJwt in den Controller ein und generieren Sie Token über die Methode make(). Der Beispielcode lautet wie folgt:
rrreee

Als n?chstes müssen wir das JWT-Token in der Middleware überprüfen und die Benutzerinformationen analysieren. Führen Sie die Klasse HyperfJwtMiddlewareJwtMiddleware in die Middleware ein und verwenden Sie die Methode handle() zur überprüfung und Analyse. Der Beispielcode lautet wie folgt: ??rrreee?? 4. Verwenden Sie Middleware für die Authentifizierung. ?? Verwenden Sie Middleware beim Routing für die JWT-Authentifizierung. ?ffnen Sie die Datei config/routes.php und fügen Sie die folgenden Routing- und Middleware-Konfigurationselemente hinzu: ??rrreee??Im obigen Beispiel ist AppControllerAuthController@info die Schnittstelle, die eine Authentifizierung erfordert. Auf diese Schnittstelle kann nur erfolgreich zugegriffen werden, wenn ein gültiges JWT-Token vorhanden ist. ????Fazit: ??Dieser Artikel stellt die Verwendung des Hyperf-Frameworks für die JWT-Authentifizierung vor und bietet relevante Konfigurations- und Codebeispiele. Durch die JWT-Authentifizierung k?nnen wir im Hyperf-Framework h?here Sicherheits- und Benutzerüberprüfungsfunktionen erreichen. Ich hoffe, dieser Artikel wird Ihnen bei der Verwendung des Hyperf-Frameworks für die JWT-Authentifizierung hilfreich sein. ??

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Hyperf-Framework für die JWT-Authentifizierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
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

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
So verwenden Sie Magnetlinks So verwenden Sie Magnetlinks Feb 18, 2024 am 10:02 AM

Magnet-Link ist eine Link-Methode zum Herunterladen von Ressourcen, die bequemer und effizienter ist als herk?mmliche Download-Methoden. Mit Magnet-Links k?nnen Sie Ressourcen im Peer-to-Peer-Verfahren herunterladen, ohne auf einen Zwischenserver angewiesen zu sein. In diesem Artikel erfahren Sie, wie Sie Magnetlinks verwenden und worauf Sie achten sollten. 1. Was ist ein Magnet-Link? Ein Magnet-Link ist eine Download-Methode, die auf dem P2P-Protokoll (Peer-to-Peer) basiert. über Magnet-Links k?nnen Benutzer eine direkte Verbindung zum Herausgeber der Ressource herstellen, um die gemeinsame Nutzung und das Herunterladen von Ressourcen abzuschlie?en. Im Vergleich zu herk?mmlichen Download-Methoden magnetisch

So verwenden Sie MDF- und MDS-Dateien So verwenden Sie MDF- und MDS-Dateien Feb 19, 2024 pm 05:36 PM

Verwendung von MDF- und MDS-Dateien Dank der kontinuierlichen Weiterentwicklung der Computertechnologie k?nnen wir Daten auf vielf?ltige Weise speichern und teilen. Im Bereich digitaler Medien sto?en wir h?ufig auf spezielle Dateiformate. In diesem Artikel besprechen wir ein g?ngiges Dateiformat – MDF- und MDS-Dateien – und stellen deren Verwendung vor. Zuerst müssen wir die Bedeutung von MDF-Dateien und MDS-Dateien verstehen. mdf ist die Erweiterung der CD/DVD-Imagedatei und die mds-Datei ist die Metadatendatei der mdf-Datei.

Einfache Anleitung zur Pip Mirror-Quelle: Erlernen Sie ganz einfach die Verwendung Einfache Anleitung zur Pip Mirror-Quelle: Erlernen Sie ganz einfach die Verwendung Jan 16, 2024 am 10:18 AM

Einfacher Einstieg: So verwenden Sie pip Mirror Source Mit der weltweiten Beliebtheit von Python ist pip zu einem Standardtool für die Python-Paketverwaltung geworden. Ein h?ufiges Problem, mit dem viele Entwickler bei der Installation von Paketen mit pip konfrontiert sind, ist jedoch die Langsamkeit. Dies liegt daran, dass pip standardm??ig Pakete von offiziellen Python-Quellen oder anderen externen Quellen herunterl?dt und diese Quellen sich m?glicherweise auf Servern im Ausland befinden, was zu langsamen Download-Geschwindigkeiten führt. Um die Download-Geschwindigkeit zu verbessern, k?nnen wir die Pip-Spiegelquelle verwenden. Was ist eine Pip-Spiegelquelle? Um es einfach auszudrücken: einfach

Mar 18, 2024 am 10:58 AM

foobar2000 ist eine Software, die Ihnen jederzeit Musik aller Art mit verlustfreier Klangqualit?t bietet Spielen Sie das erweiterte Audio auf dem Computer ab, um ein bequemeres und effizienteres Musikwiedergabeerlebnis zu erm?glichen. Das Interface-Design ist einfach, klar und benutzerfreundlich. Es nimmt einen minimalistischen Designstil an, ohne überm??ige Dekoration Es unterstützt au?erdem eine Vielzahl von Skins und Themes, personalisiert Einstellungen nach Ihren eigenen Vorlieben und erstellt einen exklusiven Musikplayer, der die Wiedergabe mehrerer Audioformate unterstützt. Au?erdem unterstützt es die Audio-Gain-Funktion zum Anpassen der Lautst?rke Passen Sie die Lautst?rke entsprechend Ihrem H?rzustand an, um H?rsch?den durch zu hohe Lautst?rke zu vermeiden. Als n?chstes lass mich dir helfen

Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ist ein kleines HDD-Benchmark-Tool für Festplatten, das schnell sequentielle und zuf?llige Lese-/Schreibgeschwindigkeiten misst. Lassen Sie sich als N?chstes vom Redakteur CrystalDiskMark und die Verwendung von CrystalDiskMark vorstellen ). Zuf?llige I/O-Leistung. Es ist eine kostenlose Windows-Anwendung und bietet eine benutzerfreundliche Oberfl?che und verschiedene Testmodi zur Bewertung verschiedener Aspekte der Festplattenleistung. Sie wird h?ufig in Hardware-Reviews verwendet

So verwenden Sie die Baidu Netdisk-App So verwenden Sie die Baidu Netdisk-App Mar 27, 2024 pm 06:46 PM

Cloud-Speicher sind heutzutage aus unserem t?glichen Leben und Arbeiten nicht mehr wegzudenken. Als einer der führenden Cloud-Speicherdienste in China hat Baidu Netdisk mit seinen leistungsstarken Speicherfunktionen, der effizienten übertragungsgeschwindigkeit und dem komfortablen Bedienerlebnis die Gunst einer gro?en Anzahl von Benutzern gewonnen. Und egal, ob Sie wichtige Dateien sichern, Informationen teilen, Videos online ansehen oder Musik h?ren m?chten, Baidu Cloud Disk kann Ihre Anforderungen erfüllen. Viele Benutzer verstehen jedoch m?glicherweise nicht die spezifische Verwendung der Baidu Netdisk-App. Dieses Tutorial führt Sie daher im Detail in die Verwendung der Baidu Netdisk-App ein. Wenn Sie immer noch verwirrt sind, folgen Sie bitte diesem Artikel, um mehr im Detail zu erfahren. So verwenden Sie Baidu Cloud Network Disk: 1. Installation W?hlen Sie beim Herunterladen und Installieren der Baidu Cloud-Software zun?chst die benutzerdefinierte Installationsoption aus.

BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-B?rse binden und verwenden? BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-B?rse binden und verwenden? Apr 26, 2024 am 09:40 AM

MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung k?nnen Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptow?hrungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

So verwenden Sie NetEase Mailbox Master So verwenden Sie NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox ist eine von chinesischen Internetnutzern weit verbreitete E-Mail-Adresse und hat mit seinen stabilen und effizienten Diensten schon immer das Vertrauen der Benutzer gewonnen. NetEase Mailbox Master ist eine E-Mail-Software, die speziell für Mobiltelefonbenutzer entwickelt wurde. Sie vereinfacht das Senden und Empfangen von E-Mails erheblich und macht unsere E-Mail-Verarbeitung komfortabler. Wie Sie NetEase Mailbox Master verwenden und welche spezifischen Funktionen es bietet, wird Ihnen der Herausgeber dieser Website im Folgenden ausführlich vorstellen und hofft, Ihnen weiterzuhelfen! Zun?chst k?nnen Sie die NetEase Mailbox Master-App im Mobile App Store suchen und herunterladen. Suchen Sie im App Store oder im Baidu Mobile Assistant nach ?NetEase Mailbox Master“ und befolgen Sie dann die Anweisungen zur Installation. Nachdem der Download und die Installation abgeschlossen sind, ?ffnen wir das NetEase-E-Mail-Konto und melden uns an. Die Anmeldeschnittstelle ist wie unten dargestellt

See all articles