Onelogin и идентификационный токен: запрос на предоставление недействителен


Я использую идентификатор подключения для работы с входом в rstudio. После восстановления кода API возвращает ошибку:{"ошибка": "недействительный_грант", "ошибка_дескрипция": "запрос на предоставление недействителен"} и я понятия не имею, почему:

$ch=curl_init();
$header = array('Authorization: Basic '.base64_encode($client_id.':'.$secret), 'Content-Type: application/x-www-form-urlencoded');
$post = array('grant_type' => 'authorization_code',
'code' => $code,
'redirect_uri' => 'MY_URL');
$url = "https://eif-til.onelogin.com/oidc/token";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$result = curl_exec($ch);

Все введенные переменные кажутся нормальными, полученный код авторизации кажется нормальным и передается как есть. С одной стороны, все кажется настроенным так, как должно быть. Мое подозрение связано с кодом PHP Curl, но я не знаю, чего не хватает/неправильно

Author: igor, 2018-06-28

1 answers

Ваш заголовок Content-Type неверен:

$header = array('Authorization: Basic '.base64_encode($client_id.':'.$secret), 'Content-Type=application/x-www-form-urlencoded');

Следует читать:

$header = array('Authorization: Basic '.base64_encode($client_id.':'.$secret), 'Content-Type: application/x-www-form-urlencoded');

Т.е. с "двоеточием", а не "=" между именем и значением.

 0
Author: Hans Z., 2018-06-28 09:43:50