bor3y/apitemplate

生成API代码库

1.0.4 2018-11-18 16:00 UTC

This package is auto-updated.

Last update: 2024-09-19 10:04:59 UTC


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

完成

许可证

许可证。有关更多信息,请参阅许可证文件