Застрял на PHP OAuth2.0 с cURL, grant_type_unsupported

Я пытаюсь подключиться к провайдеру OAuth2, используя cURL в PHP 5. Я установил начальную авторизацию и получил ее нормально.

Тем не менее, я застреваю с тем, чтобы заставить его отправить мне жетон. Я продолжаю нажимать на ошибку «unsupported_grant_type». Это мой код до сих пор:

    $token_url = 'https://discordapp.com/api/oauth2/token';

if (!$code)
{
echo '<a href="'. $auth_url . '">Login with Discord</a>';
} else {
// cURL Request Goes Here.
$chB = curl_init();
$post_opts = array(
'client_id'     =>  '[id_goes_here]',
'client_secret' =>  '[secret_goes_here',
'code'          =>  $code,
'redirect_uri'  =>  '[valid_redirect_uri_goes_here]',
'grant_type'    =>  'authorization_code',
);

$c_opts = array(
CURLOPT_URL     =>  $token_url,
CURLOPT_POST    =>  true,
CURLOPT_RETURNTRANSFER  =>  true,
CURLOPT_HTTPHEADER  =>  array(
'Content-type: application/x-www-form-urlencoded',
),
CURLOPT_POSTFIELDS  =>  $post_opts,
);

curl_setopt_array($chB, $c_opts);

$run_now = curl_exec($chB);
$code = curl_getinfo($chB, CURLINFO_HTTP_CODE);
curl_close($chB);

print($code);
var_dump($run_now);
}

Как видите, я отправляю сообщение с типом разрешения authorization_code. $ code — это возвращаемый код из конечной точки авторизации. У меня также есть данные формы, заданные как x-www-form-urlencoded.

Может кто-нибудь указать мне, что я делаю здесь неправильно?

Я искал несколько часов в Google, SO и т. Д. Я не вижу ни одного свежего совета, который помог бы мне найти что-то еще, кроме того, где я уже нахожусь.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]