找不到枪口。客户端令牌授予的API请求

时间:2019-09-25 01:01:21

标签: php laravel api guzzle

我正在尝试将 Laravel 创建为API server

我正在尝试关注Laravel Passport Documentation。 我设置了将要使用的基本组件。

我正在使用InsomiaPostman来测试我的API通话。

这就是问题。当我测试http://localhost:8000/oauth/token时。很好。

配置:

  

标题

content-type | application/json

  

身体:多部分

grant_type:     password
client_id:      my-client_id
client_secret:  my-client_secret
username:       my-username
password:       my-password

此配置工作正常,并且抛出了access_token

但是当我尝试将其放在我的controller上并使用Guzzle时。因此,我在route/api.php中创建了一条路线,并创建了Route::post('login', 'Api/AuthController@login'),还创建了Api/AuthController

根据Laravel Documentation,在我的Api/AuthController中显示以下内容:

注意:我还将Guzzle安装在作曲家中。

通过在我的终端composer require guzzlehttp/guzzlecomposer updatecomposer dump-autoload上使用此命令。我在composer.json文件中看到了一个小问题。

  $http = new \GuzzleHttp\Client();

  $response = $http->post('http://localhost:8000/oauth/token', [
    'form_params' => [
      'grant_type' => 'password',
      'client_id' => 'my-client_id',
      'client_secret' => 'my-client_secret',
      'username' => request('username'),
      'password' => request('password'),
      'scope' => '',
    ],
  ]);

  return json_decode((string) $response->getBody(), true);

配置:

  

标题

content-type | application/json

  

身体:多部分

username:       my-username
password:       my-password

我尝试的另一件事是将controller function直接放在路线中,但会产生相同的输出。

错误/输出:

(1)$http = new GuzzleHttp\Client; //在我的控制器上抛出错误:

  

找不到类'App \ Http \ Controllers \ Api \ GuzzleHttp \ Client'

(2)$http = new \GuzzleHttp\Client; //在我的控制器上抛出错误:

  

此请求时间将永远花费。 //花了我500多秒钟的时间,我取消了请求

(3)我放上use Guzzle\Client;并像$http = new Client;一样使用

  

这个仍然需要永远的请求。

(4)我尝试了第3部分,然后放了$http = new Client();

  

仍然需要永远的请求。

问题

还有什么其他方法可以发出client grant token来请求API

我在FirstSecond之后尝试了此方法,但还是没有运气。

日志

[2019-09-25 00:38:06] local.ERROR: Class 'App\Http\Controllers\Api\GuzzleHttp\Client' not found {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class 'App\\Http\\Controllers\\Api\\GuzzleHttp\\Client' not found at C:\\xampp\\htdocs\\aa\\app\\Http\\Controllers\\Api\\AuthController.php:11)
[stacktrace]
#0 [internal function]: App\\Http\\Controllers\\Api\\AuthController->login(Object(Illuminate\\Http\\Request))
#1 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php(54): call_user_func_array(Array, Array)
#2 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('login', Array)
#3 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\Api\\AuthController), 'login')
#4 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(176): Illuminate\\Routing\\Route->runController()
#5 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(680): Illuminate\\Routing\\Route->run()
#6 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#7 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#8 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#9 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php(59): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#10 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 60, '1')
#11 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(682): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#13 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(657): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#14 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(623): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#15 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(612): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#16 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#17 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#18 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 C:\\xampp\\htdocs\\aa\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 C:\\xampp\\htdocs\\aa\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#31 C:\\xampp\\htdocs\\aa\\public\\index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#32 C:\\xampp\\htdocs\\aa\\server.php(21): require_once('C:\\\\xampp\\\\htdocs...')
#33 {main}
"} 

0 个答案:

没有答案
相关问题