JWT
开始
composer require tymon/jwt-auth
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
php artisan jwt:secret
用户模型
<?php namespace App; use Tymon\JWTAuth\Contracts\JWTSubject; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements JWTSubject { use Notifiable; // 为了简洁省略其余部分 /** * 获取将存储在 JWT 主题声明中的标识符。 * * @return mixed */ public function getJWTIdentifier() { return $this->getKey(); } /** * 返回一个键值数组,其中包含要添加到 JWT 的任何自定义声明。 * * @return array */ public function getJWTCustomClaims() { return []; } }
'defaults' => [ 'guard' => 'api', 'passwords' => 'users', ], ... 'guards' => [ 'api' => [ 'driver' => 'jwt', 'provider' => 'users', ], ],
中间件
@Apidoc\RouteMiddleware("jwt.auth")
使用
// 从某处获取一些用户 $user = User::first(); // 获取 token $token = auth()->login($user);
// 获取当前认证的用户 $user = auth()->user();