Я следовал инструкциям по установке клиента пароля для Laravel паспорта точно так, как написано в Laravel документах и со стандартными Laravel 6.0 composer версиями guzzle, et c. Я выполнил установку в существующем проекте и как чистую установку, как в локальной среде разработки, так и на живом сервере, и каждый раз, когда я пытаюсь опубликовать сообщение по маршруту example.com/oauth/token, меня встречает сумасшедшая ошибка Guzzle похоже, у него нет предыдущей истории поиска по inte rnet. Ошибка (суммирована):
GuzzleHttp\Exception\ServerException
/var/task/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113
"Return value of Zend\\Diactoros\\normalizeServer() must be of the type array, none returned"
Я использую php 7.3 во всех средах, но попробовал php 7.2 и 7.1 и получил тот же результат. Я работаю Laravel Valet локально, и никогда не видел ничего подобного ни в одном другом проекте. Я также запускаю промежуточный сервер с Laravel Vapor, и я получаю точно такую же ошибку. Мой жадный запрос почти такой же, как пример Тейлора Отвелла в Laravel документах, и выглядит так:
$http = new \GuzzleHttp\Client;
$response = $http->post(env('API_TOKEN_URL'), [
'form_params' => [
'grant_type' => 'password',
'client_id' => env('PASSPORT_CLIENT_ID'),
'client_secret' => env('PASSPORT_CLIENT_SECRET'),
'username' => $request['username'],
'password' => $request['password'],
],
]);
return json_decode((string) $response->getBody(), true);
У меня есть данные, сброшенные во все переменные, чтобы убедиться, что имя пользователя, пароль, client_id и client_secret все точно. Кажется, это не проблема аутентификации, но некоторые проблемы с Guzzle, передающие правильные заголовки сервера. Я понятия не имею, как это исправить, так как нет предыдущих записей об этой проблеме, которые я мог бы найти где-нибудь еще на inte rnet. Есть идеи ???