uber CURL не работает при перенаправлении на https - PullRequest
0 голосов
/ 14 февраля 2019

У меня здесь довольно дилемма, в то время как я тестирую в песочнице Uber, используя URI перенаправления на http://localhost, функция ниже работает просто отлично и возвращает токен доступа, и я могу использовать все их вызовы API без ошибок

НО, когда я пытаюсь изменить URI перенаправления на API с https, функция ниже не работает, вся информация принимается так же, как для localhost, но когда выполняется CURL, я получаю

{"error":"invalid_request"}

и следующий код - это функция, которую я использую для этого:

function fetchUrl($url, $code)
{

$fields = array(
    'client_id' => "MY_CLIENT_ID",
    'client_secret' => "MY_CLIENT_SECRET",
    'grant_type' => "authorization_code",
    'code' => $code
);

$fields_string = '';
foreach ($fields as $key => $value) {
    $fields_string .= $key . '=' . $value . '&';
}

$fields_string = rtrim($fields_string, '&');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//up to this point works for HTTPS redirect uri
$result = curl_exec($ch); //the second this runs, i get
//{"error":"invalid_request"}

curl_close($ch);
return $result;
}

для указанной выше функции:

параметр $url установлен на https://login.uber.com/oauth/v2/token и$code устанавливается на то, что я получаю после того, как oauth проходит и возвращает необходимый код (код получен в 100% попыток).

Любая помощь приветствуется!Заранее спасибо!

1 Ответ

0 голосов
/ 19 февраля 2019

Я нашел решение здесь, $code следует использовать только один раз для генерации access_token и refresh_token, которые позже будут использоваться для обновления access_token.

Моя ошибка заключалась в том, чтоПопытайтесь сгенерировать токен каждый раз, когда я использую метод из Uber, который не нужен, если вы выполните шаги по этой ссылке https://developer.uber.com/docs/riders/guides/authentication/user-access-token, вы можете быть уверены, что он будет работать просто отлично!

...