Lumen 使用插件jwt-auth 實現用戶認證

簡介

JWT(json web token),是爲了在網絡應用環境間傳遞聲明而執行的一種基於JSON的開放標準(RFC 7519).該token被設計爲緊湊切安全的,特別使用於分佈式站點的單點 登錄(SSO)場景。JWT的聲明一般被用來在身份提供者和服務提供者間傳遞被認證的用戶身份信息,以便於從資源服務器獲取資源,也可以增加一些額外的其他業務邏輯所必須的聲明信息,該token也可直接被用於認證,也可被加密.

安裝jwt-auth

sudo composer require tymon/jwt-auth:"^1.0@dev"

在這裏插入圖片描述

修改bootstrap/app.php文件

1.將
$app->withFacades();

$app->withEloquent();
註釋去掉。這樣就可以通過Auth::user(),獲取到當前用戶

2.講auth中間件取消註釋
$app->routeMiddleware([
‘auth’ => App\Http\Middleware\Authenticate::class,
]);

3.將
$app->register(App\Providers\AppServiceProvider::class);
$app->register(App\Providers\AuthServiceProvider::class);
註釋去掉

4.在app\Providers\AppServiceProvider中註冊LumenServiceProvider

$this->app->register(\Tymon\JWTAuth\Providers\LumenServiceProvider::class);

5.修改config/auth.php

    'guards' => [
        'api' => [
            'driver' => 'jwt',     //將原來的api改成jwt
            'provider' => 'users'  //新增
        ],
    ],


    'providers' => [
        // 原來爲空 現在填寫一下內容
        'users' =>[
            'driver' => 'eloquent',
            'model'  => \App\User::class,
        ],
    ],

6.生成一個secret
sudo php artisan jwt:secret

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章