Возникает ошибка “необходимо указать email в возвращаемых полях ulogin”. что означает?
В личном кабинете должно быть включено в обязательных полях профиля поле Еmail. Данная ошибка возникает, если это требование не выполнено.
Почему не сохраняются аватары пользователей из соцсетей?
- В соцсети у пользователя должна быть аватара
- В настройках плагина должна быть включена галочка “Отображать аватар социальных сетей”
- Если у вас настроен виджет uLogin с использованием личного кабинета на сайте, проверьте, чтобы в возвращаемых полях у виджета были выбраны “Аватарка” и “Большая аватарка”. Если используется виджет с настройками по-умолчанию – ничего предпринимать не нужно.
- Директория /wp-content/uploads/ulogin_avatars/ вашего сайта должна быть доступна на запись
Настройка авторизации через соцсети в 1с-битрикс — поснов андрей
Ниже приведены инструкции по подключению соц. сетей для возможности авторизации через них при использовании модуля «Авторизация 3.0»
Настройка авторизации через «ВКонтакте» (10 минут)
Необходимо зарегистрироваться на сайте http://vk.com.
После регистрации открывайте ссылку http://vk.com/editapp?act=create.
Заполняете форму в соответствии с подсказками на этой картинке
Создание приложения необходимо подтвердить. Для этого на ваш номер телефона, указанный при регистрации на сайте «ВКонтакте» будет отправлено SMS сообщение с кодом подтверждения. Введите этот код и щелкните на кнопке «Отправить код»
Заполняете данные вашего приложения в соответсвии с подсказками на картинке и щелкаете на кнопке «Сохранить изменения».
Далее переходите на вкладку «Настройки» и копируете поля настройки модуля авторизации ID приложения и Защищенный ключ. Поля указаны на картинке. У вас будут совершенно другие значения, не берите данные с картинки, они у вас работать не будут.
Настройка авторизации через «Одноклассники» (15 минут)
Необходимо зарегистрироваться на сайте http://odnoklassniki.ru.
Переходите по ссылке http://www.odnoklassniki.ru/devaccess и подаете заявку на регистрацию разработчика. Читаете условия, ставите галочку и давите зеленую кнопку.
Переходите по ссылке http://www.odnoklassniki.ru/dk?st.cmd=appEdit&st._aid=Apps_Info_MyDev_AddApp и заполняете форму в соответствии с подсказками на картинке ниже. В поле «Ссылка callback» введите http://ВАШСАЙТ/bitrix/tools/bxmod_auth.php?type=ok (замените ВАШСАЙТ в ссылке на домен вашего сайта).
Обязательно укажите в данных полях http://ВАШСАЙТ/bitrix/tools/bxmod_auth.php?type=ok (замените ВАШСАЙТ в ссылке на домен вашего сайта).
И поставьте галочку «Разрешить клиентскую OAuth авторизацию».
После этого на ваш адрес электронной почты придет письмо, в котором будут: «Application ID», «Публичный ключ приложения» и «Секретный ключ приложения».
Иногда письмо приходит в течение 15 минут, просто наберитесь терпения и дождитесь этого письма. Введите эти данные в соответсвующие поля в настройках модуля авторизации вашего сайта.
Настройка авторизации через «Facebook» (15 минут)
Необходимо зарегистрироваться на сайте http://www.facebook.com.
Переходите по ссылке https://developers.facebook.com/apps.
И щелкаете зеленую кнопку в верхней правой части «Create New App».
Откроется диалоговое окно с формой. Заполняете форму в соответсвии с подсказками на картинке и щелакаете по синей кнопке.
Появится окно с защитой от автоматических регистраций. Вводите код с картинки и щелкаете кнопку «Отправить».
Вы будуте перенаправлены на страницу вашего приложения. Щелкните на кнопке «Show» и скопируйте данные в настройки модуля авторизации.
Перейдите в раздел «Settings», затем перейдите на вкладку «Advanced» и прокрутите страницу ниже.
Найдите поле «Valid OAuth redirect URIs» и введите в него http://ВАШСАЙТ/bitrix/tools/bxmod_auth.php?type=fb (замените ВАШСАЙТ в ссылке на домен вашего сайта).
И щелкните кнопку «Save Changes».
В [Settings -> Basic] укажите ваш контактный e-mail.
После этого перейдите в [Status & Review] и переключите пункт «Do you want to make this app and all its live features available to the general public?» в положение [On].
Настройка авторизации через «Mail.ru» (10 минут)
Необходимо зарегистрироваться на сайте http://mail.ru.
Переходите по ссылке http://api.mail.ru/sites/my/add.
Читаете условия использования, ставите галочку и щелкаете кнопку «Продолжить».
Откроется форма. Заполните ее в соответствии с подсказками на картинке.
Далее вам будет предложено закачать специальный файл. Это делать совсем не обязательно, просто нажмите кнопку «Продолжить».
А в ответ на угрожающее сообщение щелкните по ссылке «Пропустить».
В итоге вы получите все данные, необходимые для работы авторизации. Скопируйте эти данные в настройки модуля авторизации вашего сайта.
Настройка авторизации через «Яндекс» (3 минуты)
Необходимо зарегистрироваться на сайте http://yandex.ru.
Переходите по ссылке https://oauth.yandex.ru/client/new и заполняете форму в соответствии с подсказками на картинке ниже. В поле «Callback URI» введите http://ВАШСАЙТ/bitrix/tools/bxmod_auth.php?type=ya (замените ВАШСАЙТ в ссылке на домен вашего сайта).
И щелкните кнопку «Создать».
В итоге вы получите все данные, необходимые для работы авторизации. Скопируйте эти данные в настройки модуля авторизации вашего сайта.
Настройка авторизации через «Google» (5 минут)
Необходимо зарегистрироваться на сайте http://google.com.
Переходите по ссылке https://code.google.com/apis/console#access
И щелкайте синюю кнопку «Create project…».
Переходите в раздел «Credentials» и нажимаете кнопку «Create new Client ID».
Появится диалоговое окно с формой. Заполняйте форму в соответствии с подсказками на картинке ниже. В поле «Authorized redirect URI» введите http://ВАШСАЙТ/bitrix/tools/bxmod_auth.php?type=gg (замените ВАШСАЙТ в ссылке на домен вашего сайта).
И щелкните кнопку «Create Client ID».
В итоге вы получите все данные, необходимые для работы авторизации. Скопируйте эти данные в настройки модуля авторизации вашего сайта.
После этого перейдите на вкладку «Consent screen» и введите данные о вашем сайте.
Настройка авторизации через «Twitter» (5 минут)
Необходимо зарегистрироваться на сайте http://twitter.com.
Переходите по ссылке https://apps.twitter.com/
И щелкайте кнопку «Create New App».
Перед вами появится форма. Вводите все необходимые данные, в поле «Callback URL» введите http://ВАШСАЙТ/bitrix/tools/bxmod_auth.php?type=tw (замените ВАШСАЙТ в ссылке на домен вашего сайта).
И нажимайте кнопку «Create your Twitter application» под формой.
На открывшейся странице перейдите на вкладку «API Keys».
Скопируйте API key и API secret в соответствующие поля в настройках модуля.
Перейти в Маркетплейс
— See more at: http://bxmod.ru/mods/avtorizatsiya-3-0/nastroyka-avtorizatsii-cherez-sots-servisy.html#sthash.seA5NZAI.dpuf
8.1
- Добавлена панель uLogin для формы регистрации;
- Расширен способ получения пользовательских данных от uLogin(curl или file_get_contents);
- В профиль пользователя корректно добавляется ссылка на страницу в соц. сети.
8.2
- Добавлен возврат на исходную страницу после авторизации
1с-битрикс разработчикам – открывая социальные сервисы
В “десятке” вышел новый модуль “Социальные сервисы”. В настоящий момент модуль предоставляет аутентификацию посетителей сайта на внешних сервисах авторизации. Внешняя авторизация облегчает посетителям регистрацию на сайте: не нужно заводить еще один логин/пароль, можно воспользоваться уже имеющимся на одном из известных сервисов. Давайте рассмотрим работу модуля с точки зрения пользователя, администратора сайта, разработчика.[spoiler]
Итак, если модуль установлен и настроен, то посетитель в закрытом разделе увидит стандартную форму авторизации. Форма, помимо внутреннего логина и пароля, предлагает выбрать один из внешних сервисов авторизации:
Сервисы можно условно поделить на две группы: одни являются провайдерами OpenID, другие работают по собственным протоколам авторизации.
Если сервис использует OpenID, то выводится форма, куда пользователь может ввести свой openid identity. Для удобства мы предлагаем вводить не полный идентификатор, а только специфичную для сервиса часть. Например:
Для социальных сетей выводится просто кнопка, открывающая диалог авторизации внешнего сервиса:
Внешний вид диалога авторизации зависит от сервиса:
Диалог Facebook.
Диалог Мой Мир@mail.ru.
После успешной аутентификации пользователь возвращается на сайт и авторизуется. Если это первый вход пользователя, то он добавляется в список пользователей сайта (с установленным значением поля “Тип авторизации”, равным сервису авторизации).
Давайте посмотрим, что администратор сайта должен настроить, чтобы сервисы авторизации стали доступны посетителям.
После установки обновления модуль уже инсталлирован в системе. Если до обновления в настройках ядра уже был разрешен OpenID или Live ID, то соответствующие сервисы уже доступны.
Управлять сервисами можно в настройках модуля “Социальные сервисы”. Там можно включать сервисы, сортировать их, настраивать необходимые параметры. Сервисы OpenID не требуют дополнительных настроек.
Обратите внимание, что для сервисов ВКонтакте, Мой мир@mail.ru, Twitter и Facebook требуется зарегистрировать на этих сервисах приложение (ссылки указаны).
При настройке приложений обращайте внимание на параметры типа “адрес сайта”, “домен” – они чрезвычайно важны для правильной работы сервисов. Чаще всего авторизация будет работать и для поддоменов.
Настройки ВКонтакте.
Настройки Мой Мир@mail.ru.
Настройки Twitter.
Настройки Facebook.
На что еще требуется обратить внимание при настройке проекта?
- Некоторые сервисы требуют обращения только по HTTPS. Поэтому крайне желательно, чтобы php был собран с библиотекой openssl.
- Если на проекте используются различного вида редиректы (mod_rewrite), убедитесь, что при редиректе не перекодируются параметры GET.
Давайте теперь познакомимся модулем с точки зрения разработчика.
Обработка и вывод социальных сервисов добавлены в стандартные компоненты system.auth.authorize и system.auth.form. В шаблоне компонента system.auth.authorize блок соцсервисов выводится с помощью компонента socserv.auth.form:
В шаблоне компонента system.auth.form ситуация интереснее: там отдельно выводятся иконки сервисов, клик на которые открывает окно с формой сервисов:
“Маленькая” форма авторизации.
“Всплывающая” форма авторизации.
Реализован такой подход с помощью двух вызовов компонента socserv.auth.form с разными шаблонами:
<?if($arResult["AUTH_SERVICES"]):?> <? $APPLICATION->IncludeComponent("bitrix:socserv.auth.form", "", array( "AUTH_SERVICES"=>$arResult["AUTH_SERVICES"], "AUTH_URL"=>$arResult["AUTH_URL"], "POST"=>$arResult["POST"], "POPUP"=>"Y", "SUFFIX"=>"form", ), $component, array("HIDE_ICONS"=>"Y") ); ?> <?endif?> |
Обратите внимание, что второй вызов должен быть за пределами тега
Как всегда, вы можете кастомизировать вывод стандартных компонентов. Самое доступное – это переопределить стили CSS в шаблоне сайта. Затем, вы можете кастомизировать шаблоны компонента socserv.auth.form.
Список социальных сервисов является программно-расширяемым. При построении списка сервисов вызывается событие “OnAuthServicesBuildList” модуля “socialservices”. Обработчик события должен вернуть массив вида:
В классе, название которого возвращается обработчиком, должны быть реализованы методы:
public function GetSettings() { //массив опций, как он используется в option.php модулей return array( array("facebook_appid", GetMessage("socserv_fb_id"), "", Array("text", 40)), array("facebook_appsecret", GetMessage("socserv_fb_secret"), "", Array("text", 40)), array("note"=>GetMessage("socserv_fb_sett_note")), ); } public function GetFormHtml($arParams) { return 'Ваш HTML для формы'; } public function Authorize() { //собственно код для авторизации пользователя } |
Таково наше первое знакомство с модулем социальных сервисов. Надеюсь, что использование модуля сделает работу с вашими проектами более удобной для ваших посетителей.
0.1
- Исправлена ошибка с непредсказуемым редиректом после авторизации
- Исправлена js-ошибка на странице профиля пользователя (не работала синхронизация аккаунтов)
0.11
- Улучшена совместимость с плагином BuddyPress. Для отображения аватарок соцсетей необходимо в панели администратора (Настройки->Обсуждения) в списке “Аватар по умолчанию” выбрать пункт uLogin.
- Улучшена совместимость с плагином Simple:Press. Исправлено кривое отображение аватарки гостя.
0.13
- Добавлена функция “Деактивации” и “Удаление” плагина.
- Исправлен баг label “Войти с помощью:”
- Исправлен баг с аватарками BuddyPress
- Проведён небольшой рефакторинг, исправлены мелкие баги и notice.
0.2
- Добавлена возможность вывода формы “Синхронизация аккаунтов” в любом месте с помощью функции ulogin_synchronisation_panel()
- Изменён внешний вид значков привязанных аккаунтов социальных сетей в форме синхронизации аккаунтов
- Реализована совместимость с плагином BuddyPress (аватарки, синхронизация аккаунтов в профиле пользователя)
- Исправлена ошибка возникновения дублирования привязанных аккаунтов
0.3
- Исправлена ошибка регистрации таблицы в БД
- Исправлена ошибка генерации никнейма
0.4
- Совместимость с WordPress 4.0
- Улучшена совместимость модуля с другими продуктами (возникала ошибка при активации плагина)
0.7
- Оптимизирована проверка наличия аватара Gravatar.
- Совместимость с WordPress 4.1
1.1
- Улучшение совместимости с плагином предыдущей версии.
1.2
- Добавлен вызов хука ulogin_registration после успешной регистрации пользователя через сосцеть
- Добавлена поддержка параметра redirect_to для возврата на конкретную страницу после авторизации
3.1
- Исправлено: Warning: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in …
3.2
- Реализована асинхронная (не блокирующая страницу) загрузка скрипта ulogin.js
4.0
- В настройки плагина добавлен текст про то, где можно найти инструкции по установке и настройке плагина
- В настройки плагина добавлены опции, позволяющие отключить отображение виджетов в любом из стандартных расположений
- Незначительные изменения на странице настроек плагина
- Незначительные исправления текста readme
- Минимизирован файл ulogin.css
5.0
- Авторизация пользователя теперь держится долго и не слетает после перезапуска браузера
- Исправлена проблема с созданием таблицы в БД при установке плагина
8.0
- Добавлены дополнительные проверки вводимых данных в настройках плагина для админ панели
- Задействованы встроенные функции WordPress для получения информации со сторонних ресурсов при авторизации пользователя
- Плагин имеет возможность гибко подстраиваться под изменения файловой системы сайта
9.0
- В настройках плагина появилась возможность добавления собственного .css файла для изменения внешнего вида окна, в котором запрашивается информация у пользователя
Upgrade notice
Реализована асинхронная (не блокирующая страницу) загрузка скрипта ulogin.js
Авторизация через ulogin или как можно попасть в просак
Все чаще в технических заданиях и на сайтах можно наблюдать возможность войти через ту или иную социальную сеть. Иногда целесообразнее использовать готовый сервис, чем создавать отдельно приложения для каждой социальной сети. Прекрасным, по моему скромному мнению, вариантом является сервис ulogin, он позволяет быстро интегрировать нужное количество социальных сетей, и пока нареканий в работе не вызывал. Но, как оказалось, не все так гладко.
По какому полю вы связываете человека пришедшего через социальную сеть с пользователем зарегистрированным у вас на сайте? Я думаю большинство с первой попытки ухватится за поле которое в 95% является уникальным — Email. uLogin позволяет получить email на который регистрировался аккаунт в социальной сети, и в большинстве случаев пользователь привязывает все аккаунты к одной почте (речь идет о посетителях handmade порталов, разного рода магазинчиков с несколькими тысячами товаров типа детское белье и т.д.). Более того, выделяя среди социальных сетей тройку лидеров приходится сталкиваться с: Вконтакте, Facebook, (Twitter/Google ). И вот тут начинается история.
Социальная сеть Вконтакте никогда не отдаст вам email пользователя, также его не вернет и uLogin. Хотя можно указать сбор email принудительно, в этом случае после авторизации через социальную сеть uLogin запросит email пользователя самостоятельно, для того чтобы потому бережно отдать вам JSON с данными которые вы хотели получить от него. Проблема тут состоит в том, что в это поле можно вбить любой валидный email. То есть СОВСЕМ ЛЮБОЙ.
Таким образом, если авторизация через социальную сеть происходит по сути по полю email, некоему Васе для того чтобы войти на сайт под аккаунтом Пети, достаточно авторизоваться через Вконтакте и указать его email, который может не являться тайной и допустим выводиться в профиле.
Защитой от этой логической дыры является схема в рамках которой регистрация возможна только через те социальные сети которые делятся с нами email’ом. Далее личном кабинете пользователю предлагается привязать аккаунт к социальной сети — авторизоваться через тот же uLogin тем самым привязать аккаунт пользователя не по email, а по полю identity, т.е. идентификатору конкретной социальной сети. Бонусом может служить как иконка с ссылкой на профиль в социальной сети, так и любые поощрения на сайте и как сверх бонус собственно сама возможность авторизации.
При наличии таких полей остается только контролировать уникальность этих данных в базе, чтобы попытки привязать один и тот же аккаунт к разным профилям на сайте пресекался на корню.
Сервис ulogin отправляет данные из форм (почта, телефон) на сторонний сайт и молчит об этом

Привет сообщество. Это моя первая запись, пусть она и не совсем длинная — но важный посыл в заголовке.
Есть такой сервис для авторизации через соцсети — uLogin. Разработчики выпустили много бесплатных плагинов под различные CMS и вот он — сыр в мышеловке.
Видно дела пошли не очень и пользователи начали замечать, что сервис подгружает странные скрипты при работе модуля. Я проводя аудит своего сайта — заметил что грузится counter.yadro.ru несколько раз. В общей сложности, при загрузке страницы, они загружали 18 ресурсов (js, css, прочие запросы) — это много для моего проекта у которого всего 47 запросов. А их сервис добавляет еще 18, включая запросы к сторонним сайтам.
Вот их ответ в декабре 17-го:
Там есть запросы на наш счетчик ли.ру и на наш сайт. Партнерские запросы были ранее, но мы их окончательно убрали несколько месяцев назад.
— но они слукавили — запрос к x01.aidata.io они отправляли:
И на ресурсе не последовало ответа никому.
Так что это такое этот aidata.io? Это платформа управления данными для программного маркетинга. Так себя этот сервис называет. Но зачем он мне? Да, я знаю: что виджеты социальных сетей, кнопки поделиться, счетчики поисковых систем — все они с нашего сайта собирают данные. Но они отправляют данные к себе. Они используют свои, проверенные скрипты — третья сторона не вмешается в работу скрипта. А uLogin подключает третью сторону и мне, как владельцу сайта не говорит об этом. Это честно? Я думаю нет. Против ли я? Конечно против.
С 25 мая 2022 года вступил в силу общий регламент по защите персональных данных Европейского союза: Data Protection Regulation (GDPR) и в РФ, ранее — №152-ФЗ «О персональных данных» — а uLogin не уведомляет моих посетителей сайта. Я и сам не знал что данные собираются — как я ответил бы на этот вопрос если ко мне постучались в дверь? Я не контролировал свой сайт.
Поверить им стоило, что они окончательно убрали трекинг? Я поверил.
24 января 2022-го я обратил внимание на ошибки в консоли сайта:
и тут же забил тревогу. Списался по почте с командой uLogin — ответ:
Это скрипт-трекер от нашего партнера.
Вот это поворот! Чуть больше месяца назад они меня заверили что убрали подобное.
А между тем в интернете, на площадке reformal, происходило движение в теме. Я не знаю правил публикаций — позволяют вставить ссылку? Но я рискну: тема от 28 декабря 2022-го
Там и я написал и выложил для светлых голов содержимое подключаемого скрипта.
В теме отвечал Иван Пшеницын — и он очень удивлялся — «как же так может происходить». В конце марта он последний раз появился в теме и бросил своих клиентов, что доверили им свои сайты — на произвол судьбы.
И даже в мае 2022-го в тему поступали новые комментаторы, в конце апреля пользователь с ником Maxim, опубликовал видео — как скрипт из формы на сайте, на совсем сторонний сайт отправляет пользовательские персональные данные (номер телефона).
Месяц назад тему подняли в официальном форуме поддержки вордпресс плагина — два человека пожаловались на утечку. Официального ответа там не было.
Стоит ли доверять команде сервиса, которые утверждали в почтовой переписке, что они убрали партнерские запросы, а продолжают подсовывать «троянских коней» на наши сайты? Если они дают возможность третьей стороне грузить бесконтрольно на наши сайты любой js, то что они захотят (эти третьи лица) — правильно ли это? Безопасно ли это? Законно ли это?
Эту запись я публикую — т.к. от команды сервиса uLogin не получил должного ответа.
p.s. при установке WordPress плагина от uLogin не требуется регистрация на их сервисе. А это значит что пользовательское соглашение, что они разместили на своем сайте — не имеет юридической силы.
Если у вас есть идеи и мысли по поводу данного продукта и сложившейся ситуации — добро пожаловать в комментарии.
upd. 2022-06-05 — Вчера я написал письмо службе безопасности вордпресс. Они отреагировали (но к сожалению ответ мне по почте пока не прислали) — плагин в официальном репозитории вордпресса недоступен для скачивания. Посетителя встречает такая надпись:
Или разбираются в вопросе, или дали время команде uLogin на устранение такого поведения.