簡介
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