inn20 / api-scaffold
There is no license information available for the latest version (v1.0.6) of this package.
v1.0.6
2021-08-31 01:29 UTC
Requires
- laravel/framework: >=5.8
- tymon/jwt-auth: 1.0.2
README
composer require "inn20/api-scaffold"
创建配置文件&生成JWT key
php artisan api-scaffold:install
上面命令等同于以下3条命令,按需使用
创建脚手架配置文件
php artisan vendor:publish --provider="Inn20\ApiScaffold\ApiServiceProvider"
创建JWT配置文件
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
生成JWT token
php artisan jwt:secret
配置
- 修改异常处理器
App\Exceptions\Handler
继承Inn20\ApiScaffold\Exceptions\ApiHandler
use Inn20\ApiScaffold\Exceptions\ApiHandler as ExceptionHandler;
class Handler extends ExceptionHandler
...
- 配置 Auth guard
config/auth.php
文件中,修改为下面代码
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt',
'provider' => 'users',
],
],
- 继承User模型
...
use Inn20\ApiScaffold\Models\User as JwtUser;
class User extends JwtUser
...
使用
用户认证
登录 获取token
$token = Auth::guard('api')->attempt(['name'=>$request->name, 'password'=>$request->password]);
用户退出
Auth::guard('api')->logout();
返回当前登录用户信息
$user = Auth::guard('api')->user();
中间件
api.guard
自动区分 guard
api.refresh
用户认证,token过期会自动刷新
统一 Response 响应
控制器引入trait Inn20\ApiScaffold\Helpers\ApiResponse
异常接管
config/apiscaffold.php
文件