При настройке сайта, пункт «Рабочий стол — Маркетинг — Поисковая оптимизация — Поисковые системы — Яндекс» при попытке авторизоваться через Яндекс и вводе полученного от Яндекс кода подтверждения получаю «Не удалось получить авторизацию: JSON error: Syntax error [4]». Причем данная ошибка видна только в Mozilla Firefox, в других браузерах просто не происходит авторизации. Битрикс установлен в виртуальной машине от разработчика (Bitrix virtual appliance version 7.4.3).
Обратился в ТП битрикса, неделю переписывался, попросили доступы не только в админку сайта но и доступы к аккаунту Яндекса (зачем?). После недельной переписки с ТП выяснилось, что есть проблема с подключением к сайту именно Яндекса.
Проверить проблему подключения к «oauth.yandex.ru» можно кодом:
$res = stream_socket_client(«ssl://oauth.yandex.ru:443», $errno, $errstr, 5);
var_dump($res);
И проблема была из-за того, что виртуалка была создана на CentOS 6.10, в которой для корректной работы с сервисами Яндекса необходимо принудительно обновить CA.
Делается следующим образом:
update-ca-trust enable
На всякий случай скопировали текущие CA (могут быть по другому пути):
cp /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem tls-ca-bundle.pem
Скачали новые и обновили CA.
curl https://www.certum.pl/CA.pem > /etc/pki/ca-trust/source/anchors/certum_pl_CA.pem
update-ca-trust extract
После этого вышеприведенный код перестал выдавать ошибку при подключении к сайту Яндекса.