bor3y / apitemplate
生成API代码库
1.0.4
2018-11-18 16:00 UTC
Requires
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
README
让生活更简单
安装
- 使用Composer安装jwt for laravel
$ composer require tymon/jwt-auth 1.0.0-rc.3
- 配置认证保护器,更改"config/auth.php"中的这些行
guards' => [ 'api' => [ 'driver' => 'jwt', 'provider' => 'users', ],
- 将以下内容添加到认证配置"config/auth.php"
/* |-------------------------------------------------------------------------- | API Client Credentials |-------------------------------------------------------------------------- | */ 'client_id' => env('CLIENT_ID', ''), 'client_secret' => env('CLIENT_SECRET'. ''),
- 更新您的User模型以实现"Tymon\JWTAuth\Contracts\JWTSubject"
/** * Get the identifier that will be stored in the subject claim of the JWT. * * @return mixed */ public function getJWTIdentifier() { return $this->getKey(); } /** * Return a key value array, containing any custom claims to be added to the JWT. * * @return array */ public function getJWTCustomClaims() { return []; }
- 通过Composer安装我们的包
$ composer require --dev bor3y/apitemplate
- 使用命令发布包
$ php artisan auth:api:publish
- 将命名空间添加到"app/Providers/RouteServiceProvider.php"中的apiRoutes
protected function mapApiRoutes() { Route::prefix('api') ->middleware('api') ->namespace($this->namespace . '\API') ->as('api.') ->group(base_path('routes/api.php')); }
- 添加基本认证路由
Route::group(['prefix' => 'auth', 'namespace' => 'Auth'], function(){ Route::group(['middleware' => 'auth.api.public'], function() { Route::post('/register', 'AuthController@register')->name('register'); Route::post('/login', 'AuthController@login')->name('login'); Route::group(['prefix' => 'password', 'as' => 'password.'], function(){ Route::post('/forget', 'PasswordController@sendResetLinkEmail')->name('forget'); }); Route::post('/token/refresh', 'AuthController@refreshToken')->name('refreshToken'); }); Route::group(['middleware' => 'auth:api'], function(){ Route::get('/user', ['as' => 'user', 'uses' => 'AuthController@user']); Route::post('/logout', ['as' => 'logout', 'uses' => 'AuthController@logout']); Route::post('/password/change', 'PasswordController@changePassword')->name('password.change'); }); });
- 将以下内容添加到"app/Http/Kernel.php"的routesMiddleware
'auth.api.public' => \App\Http\Middleware\AuthorizePublicApiRequests::class
完成
许可证
许可证。有关更多信息,请参阅许可证文件。