Laravel Passport API 调用代码参数 null
Posted
技术标签:
【中文标题】Laravel Passport API 调用代码参数 null【英文标题】:Laravel Passport API call code parameter null 【发布时间】:2017-05-05 13:06:06 【问题描述】:我正在尝试使用 Laravel 客户端调用 Laravel API。
代码如下:
Route::get('/callback', function (Request $request)
$http = new GuzzleHttp\Client;
$response = $http->post('http://galaxy.dev/oauth/token', [
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => '3',
'client_secret' => 'rrhaEv0B6NAFLyMFqvZrY87gkquFF2UwhAHPtd8L',
'redirect_uri' => 'http://galaxy-game.dev/callback',
'code' => $request->code,
],
]);
return json_decode((string) $response->getBody(), true);
);
我从 API 收到此响应:
客户端错误:POST http://galaxy.dev/oauth/token 导致 400 错误请求响应:"error":"invalid_request","message":"The 请求缺少必需参数,包含无效参数 值,(截断...)
我在 API 错误日志中注意到:
Client->request('post', 'http://galaxy.dev/oauth/token', 数组('form_params' => 数组('grant_type' => 'authorization_code', 'client_id' => '3', 'client_secret' => 'rrhaEv0B6NAFLyMFqvZrY87gkquFF2UwhAHPtd8L', 'redirect_uri' => 'http://galaxy-game.dev/callback', '代码' => null), '同步' => true)) 在 Client.php 第 87 行
上面写着
$request->code = null
有人知道为什么会这样吗?这似乎是它失败的原因。我完全遵循了 Laravel 文档。任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:您好,我通过将代码值留空来解决此问题,如下所示:
'code' => '',
由于$request->code
是null
,这可能会导致该问题。
【讨论】:
以上是关于Laravel Passport API 调用代码参数 null的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 通过 Passport 实现 API 请求认证:隐式授权令牌
Laravel Passport:auth:api 的行为类似于 auth:web
Laravel Passport 通过网络问题使用自己的 API