私のクライアントでは、次のルートを使用して認証トークンを取得しています。
Route::get('/redirect', function () {
$query = http_build_query([
'client_id' => '1',
'redirect_uri' => 'http://localhost:8001/callback',
'response_type' => 'code',
'scope' => ''
]);
return redirect('http://localhost:8000/oauth/authorize?'.$query);
});
Route::get('/callback', function (Illuminate\Http\Request $request) {
$http = new \GuzzleHttp\Client;
$response = $http->post('http://localhost:8000/oauth/token', [
'form_params' => [
'client_id' => '1',
'client_secret' => 'secret-code',
'grant_type' => 'authorization_code',
'redirect_uri' => 'http://localhost:8001/callback',
'code' => $request->code,
],
]);
return json_decode((string) $response->getBody(), true);
});
しかし、 http://localhost:8001/redirectを参照すると、http 認証が要求されます。認証が必要な理由とその解決方法