На моем сайте помимо остальных есть авторизация через Яндекс. Работала исправно пару лет, а недели полторы-две назад внезапно перестала работать. Как выяснилось, проблема в том, что при обращении к адресу
https://api-yaru.yandex.ru/me/
возвращается код 403. Может быть кто-то в курсе, у них что-то поменялось?
На всякий случай, поясню, как именно я работаю с API:
1. Отправляю пользователя на
https://oauth.yandex.ru/authorize?response_type=code&client_id=MY_CLIENT_ID_HERE&display=popup
2. Отправляю POST-запрос на
https://oauth.yandex.ru/token с полями grant_type, code, client_id и client_secret. Здесь получаю токен и токен приходит без ошибок:
{
["token_type"]=>
string(6) "bearer"
["access_token"]=>
string(32) "12345678901234567890123456789012"
["expires_in"]=>
int(31536000)
}
3. Отправляю GET-запрос на
https://api-yaru.yandex.ru/me/ с заголовками:
curl_setopt($ch, CURLOPT_HTTPHEADER ,array(
"Authorization: OAuth ".$token,
"Content-Type: application/x-yaru+xml; type=person"
));
И вот здесь как раз получаю 403 вместо ответа.