最佳答案
                
                                    超简单方式
app/Providers/AuthServiceProvider.php
public function boot()
{
    Passport::routes(null, ['prefix' => 'api/v1/oauth']);
}超详细自定义路由
   public function boot()
    {
        $this->registerPolicies();
        if (! $this->app->routesAreCached()) {
            //Passport配置
            Passport::routes(function (RouteRegistrar $router) {
                //隐藏其他非必需路由,增强安全性
                $this->forAuthorization();     //授权Html页面
                $router->forAccessTokens();    //获取token
                $router->forTransientTokens(); //刷新refresh_token
                $this->forClients();           //自定义client的中间件
                $router->forPersonalAccessTokens(); //personal_access_token
            });
            Passport::tokensExpireIn(now()->addDays(15));
            Passport::refreshTokensExpireIn(now()->addDays(30));
            Passport::personalAccessTokensExpireIn(now()->addMonths(6));
            Passport::tokensCan([
                'basic-user-info' => '用户的用户名和邮箱等基本信息',
            ]);
            Passport::setDefaultScope([
                'basic-user-info',
            ]);
        }
    }
    protected function forAuthorization()
    {
        Route::group(['middleware' => ['web', 'auth.redirect']], function ($router) {
            $router->get('/authorize', [
                'uses' => 'AuthorizationController@authorize',
                'as' => 'passport.authorizations.authorize',
            ]);
            $router->post('/authorize', [
                'uses' => 'ApproveAuthorizationController@approve',
                'as' => 'passport.authorizations.approve',
            ]);
            $router->delete('/authorize', [
                'uses' => 'DenyAuthorizationController@deny',
                'as' => 'passport.authorizations.deny',
            ]);
        });
    }
    protected function forClients()
    {
        Route::group(['middleware' => ['web', 'auth', 'oauth.privilege']], function ($router) {
            $router->get('/clients', ['uses' => 'ClientController@forUser', 'as' => 'passport.clients.index']);
            $router->post('/clients', ['uses' => 'ClientController@store', 'as' => 'passport.clients.store']);
            $router->put('/clients/{client_id}', ['uses' => 'ClientController@update', 'as' => 'passport.clients.update']);
            $router->delete('/clients/{client_id}', ['uses' => 'ClientController@destroy', 'as' => 'passport.clients.destroy']);
        });
    } 讨论数量: 
            
            
    
            超简单方式
app/Providers/AuthServiceProvider.php
public function boot()
{
    Passport::routes(null, ['prefix' => 'api/v1/oauth']);
}超详细自定义路由
   public function boot()
    {
        $this->registerPolicies();
        if (! $this->app->routesAreCached()) {
            //Passport配置
            Passport::routes(function (RouteRegistrar $router) {
                //隐藏其他非必需路由,增强安全性
                $this->forAuthorization();     //授权Html页面
                $router->forAccessTokens();    //获取token
                $router->forTransientTokens(); //刷新refresh_token
                $this->forClients();           //自定义client的中间件
                $router->forPersonalAccessTokens(); //personal_access_token
            });
            Passport::tokensExpireIn(now()->addDays(15));
            Passport::refreshTokensExpireIn(now()->addDays(30));
            Passport::personalAccessTokensExpireIn(now()->addMonths(6));
            Passport::tokensCan([
                'basic-user-info' => '用户的用户名和邮箱等基本信息',
            ]);
            Passport::setDefaultScope([
                'basic-user-info',
            ]);
        }
    }
    protected function forAuthorization()
    {
        Route::group(['middleware' => ['web', 'auth.redirect']], function ($router) {
            $router->get('/authorize', [
                'uses' => 'AuthorizationController@authorize',
                'as' => 'passport.authorizations.authorize',
            ]);
            $router->post('/authorize', [
                'uses' => 'ApproveAuthorizationController@approve',
                'as' => 'passport.authorizations.approve',
            ]);
            $router->delete('/authorize', [
                'uses' => 'DenyAuthorizationController@deny',
                'as' => 'passport.authorizations.deny',
            ]);
        });
    }
    protected function forClients()
    {
        Route::group(['middleware' => ['web', 'auth', 'oauth.privilege']], function ($router) {
            $router->get('/clients', ['uses' => 'ClientController@forUser', 'as' => 'passport.clients.index']);
            $router->post('/clients', ['uses' => 'ClientController@store', 'as' => 'passport.clients.store']);
            $router->put('/clients/{client_id}', ['uses' => 'ClientController@update', 'as' => 'passport.clients.update']);
            $router->delete('/clients/{client_id}', ['uses' => 'ClientController@destroy', 'as' => 'passport.clients.destroy']);
        });
    } 
           
         
                     
                     
            
 
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: