О web-разработке
и даже немного больше...

Ошибка авторизации через соц. сети: auth_service_id=Facebook& auth_service_error=1

В системе Битрикс, начиная с 10-й версии в стандартный набор входит модуль «Социальные сервисы». Данный модуль дает возможность реализовать авторизацию на сайте посредством уже существующего аккаунта в социальных сетях.

avtorizaciya-cherez-soc-seti

Соц. сетей довольно много, и наиболее популярные из них в нашем сегменте интернета являются Вконтакте, Mail.ru, Twitter, и Facebook.

Функционал авторизации через социальные сети можно использовать что называется «из коробки», и по умолчанию авторизация может работать как надо. Изменения в работе стандартного функционала могут вести за собой некоторые нестыковки, что в конечном итоге сказывается на неработоспособности авторизации целом. С такой ситуацией пришлось столкнуться и мне, после некоторого времени поиска причину удалось найти.

Итак, авторизоваться через соц сети не удается, получается ошибка с перенаправлением:
?auth_service_id=Facebook&auth_service_error=1
?auth_service_id=Vkontakte&auth_service_error=1

Поиски по форумам позволили определить некоторые распространенные причины, из-за чего может быть такая ошибка.
1. В PHP не установлена библиотека OpenSSL
2. Присутствуют обязательные пользовательские поля

Проверить установку OpenSSL не трудно, достаточно выполнить функцию phpinfo() в скрипте и проверить наличие записей OpenSSL. Если они есть, значит идем дальше.

Как оказалось в моем случае, ранее производились изменения на форме регистрации, после чего для некоторых задач было заведено новое пользовательское поле. Поле было обязательным для заполнения, и кто-бы мог подумать, что именно это может стать причиной ошибки авторизации в соц. сетях.

Вникая в детали стало ясно, что при входе пользователя через социальные сети в системе битрикс по сути заводиться новая учетная запись. Учетная запись создается посредством API битрикса, в массиве добавляемых полей должны присутствовать обязательные поля, если их нет, то и учетную запись не удается завести, что в конечном итоге проявляется в виде таких ошибок. На этом пока всё, успехов!

Опубликован: 21.03.2015 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта