Уважаемые форумчане, подскажите как сделать нормальную регистрацию на сайте через соц.сеть ВКонтакте. Через Одноклассники и FaceBook все работает, а вот через ВК ну ни как не хочет... Выдает окошко (файл 10.jpg) после нажатия кнопки "разрешить" вместо того чтобы вернуться на страницу закрыв это окошко, открывает сайт в этом же окошке (файл 11.jpg) причем регистрация так и не проходит, поддержка ВК отсылает на страницу https://vk.com/dev/authcode_flow_user, но как это прикрутить к модулю регистрации Битрикса, не хватает мозгов, прошу вашей помощи...
//для запроса code https: //oauth.vk.com/authorize?client_id=7496520& redirect_uri=https%3A%2F%2Fsite.ru%2Fajax%2Flogs%2Flog.php& scope=friends,offline,email&response_type=code ответ в redirecturi?code=c189fbeca5542789a4
там нашёл строку ошибки [error_msg] => Invalid request: versions below 5.21 are deprecated. Version param should be passed as "v". "version" param is invalid and not supported. For more information go to https://vk.com/dev/constant_version_updates Что в переводе: Неверный запрос: версии ниже 5.21 устарели. Параметр "версия" должна быть передана как "v". Параметр "версия" недействителен и не поддерживается. Для получения дополнительной информации перейдите по ссылке https://vk.com/dev/constant_version_updates.
у Вас может быть другая ошибка.
Для устранения, в этом же файле нашёл функцию GetCurrentUser( и в запросе увидел $result = $h->get(self::CONTACTS_URL . '?v=5.8&fields=uid,fir...
Поменял v=5.8 на v=5.21 Убрал мини сохранение логов В этом же файле ( /bitrix/modules/socialservices/classes/general/vkontakte.php ) поменял все 5.8 на 5.21
А у меня тоже такая же проблема была. Выяснил, что в request приходит не правильный ключ одного параметра. Должен приходить "backurl", а приходил "amp;backurl" в файле \bitrix\modules\socialservices\classes\general\vkontakte.php в методе Authorize()
Соответственно покопавшись немного не нашел ничего как прописать в начале метода if(!isset($_REQUEST['backurl']) && isset($_REQUEST['amp;backurl'])){ $_REQUEST['backurl'] = $_REQUEST['amp;backurl']; }
Решение очень очень плохое конечно. Если кто выяснит причину как сделать без вмешательства в ядро - буду только рад.
написал: А у меня тоже такая же проблема была. Выяснил, что в request приходит не правильный ключ одного параметра. Должен приходить "backurl", а приходил "amp;backurl" в файле \bitrix\modules\socialservices\classes\general\vkontakte.php в методе Authorize()
Соответственно покопавшись немного не нашел ничего как прописать в начале метода if(!isset($_REQUEST['backurl']) && isset($_REQUEST['amp;backurl'])){ $_REQUEST['backurl'] = $_REQUEST['amp;backurl']; }
Решение очень очень плохое конечно. Если кто выяснит причину как сделать без вмешательства в ядро - буду только рад.
Можно добавить сюда - /bitrix/tools/oauth/vkontakte.php перед prolog_before Тоже не очень решение)