Я довольно плохо знаком с ORCID и запросом API, поэтому извините, если ответ на мою проблему очевиден. Я пытаюсь внедрить систему проверки подлинности ORCID на своем веб-сайте, но когда я должен был получить некоторую информацию о пользователе, который произвел проверку подлинности, я получил ошибку 301.
Я поставил кнопку входа на первой странице:
<button id="connect-orcid-button" onclick="openORCID()"><img id="orcid-id-icon" src="https://orcid.org/sites/default/files/images/orcid_24x24.png" width="24" height="24" alt="ORCID iD icon"/>Se connecter ou s'enregistrer avec un ORCID iD</button>
function openORCID() {
var oauthWindow = window.open("http://orcid.org/oauth/authorize?client_id=[MyClientId]&response_type=code&scope=/authenticate&redirect_uri=http://localhost/MASA_openGuide/openGuide/portal.php", "_blank", "toolbar=yes, scrollbars=yes, width=500, height=600, top=500, left=500");
}
При нажатии, он работает хорошо, и я могу без проблем пройти проверку подлинности, и он отправляет меня на вторую страницу. Я установил на нем этот код, чтобы получить информацию благодаря токену:
$code = $_GET["code"];
echo $code;
$lien = 'http://orcid.org/oauth/token';
$header = array(
'Accept' => 'application/json',
);
$postField = array(
'url' => 'http://orcid.org/oauth/token',
'client_id' => [myClientId],
'client_secret' => [myClientSecret],
'grant_type' => 'client_credentials',
'scope' => '/read-public'
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $lien);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postField);
$result = curl_exec($curl);
curl_close($curl);
И затем я получаю сообщение об ошибке «301 Movem Permanently», на веб-сайте ORCID говорится, что «этот ORCID iD устарел в другом, смотрите расположение, возвращенное для обновленного ORCID iD, если вы не пересылаетесь автоматически». Но я не уверен, что я должен делать: /
Цель состоит в том, чтобы получить запись, чтобы разместить часть этой информации на веб-сайте и сохранить ее в файле cookie.
Я надеюсь, что мне удалось прояснить ситуацию.
Большое спасибо за вашу помощь и еще раз извините, если ответ очевиден ...