Fi1osof 01 октября 2014 1 12
Продолжая заботиться об удобстве пользователей, сделал регистрацию через социальные сети на сайте MODX-Клуба. Механизм обеспечивается пакетом modHybritAuth, который я наконец-то докрутил до вменяемого состояния и выложил на modx.com. Проект на гитхабе: https://github.com/Fi1osof/modHybridAuth

Пока что на сайте используется 4 провайдера (Гугл, фейсбук, яндекс и твиттер), но скоро будут и другие. Так же чуть позже появится возможность привязать свои социальные профили в настройках профиля уже существующего пользователя, а пока это только для новых регистрирующихся пользователей.

При регистрации через социалки есть пара плюшек: не надо активировать пользователя по ссылке в письме и не надо вводить каптчу на странице регистрации.

Кстати, если вдруг кто-то хочет поинтересоваться зачем было писать modHybridAuth, если уже есть HybridAuth.
Во-первых, HybridAuth не умеет работать с родным для MODX-а компонентом Login.
Во-вторых, HybridAuth использует расширенные классы modUser, что ИМХО не есть круто, о чем я говорил уже не раз. Чем не круто? Как минимум тем, что объект пользователя не может быть инстансом сразу двух расширяющих классов. То есть если в какой-то момент появится желание использовать еще один пакет, расширяющий класс modUser, вам придется выбирать какой из этих двух пакетов использовать, так как одновременно они работать не смогут. modHybridAuth использует такой механизм, который добавляет дополнительный связанный профиль пользователю, так же как modUserProfile дополняет класс modUser. Пара примеров:
$profile = $modx->user->Profile; // Получили объект профиля пользователя modUserProfile
$socialProfiles = $modx->user->SocialProfiles; // Получаем социальные профили пользователя

А как пищу для обсуждений, выкладываю листинг Smarty-шаблона регистрации пользователя.
12 комментариев
n
nekto 01 октября 2014г в 10:52 #
А почему не сделать регистрацию через VK? У нас она популярнее всех остальных четырех.
Fi1osof1
Fi1osof 01 октября 2014г в 11:01 #
А предложение дописать ВК и одноклассники было давно, только что-то никто не поднапрягся. Я чуть позже планирую их дописать, как минимум ВК.
ylarus1
ylarus 05 октября 2014г в 20:03 #
MODX Revolution 2.2.13-pl зашла установила через пакеты поставщика http://modx.com. Попробовала зайти через яндекс перешел на страницу с адресом .../assets/components/modhybridauth/connectors/profile/auth.php?provider=Yandex&redirect_id=104 написано "Cannot process registration". Как исправить?
Fi1osof1
Fi1osof 05 октября 2014г в 20:56 #
Настройки модуля поправьте.

И смотрите логи MODX-а, туда должно все выводиться.
ylarus1
ylarus 06 октября 2014г в 00:57 #
Спасибо за подсказку. Что у меня ничего не выходит, он хочу разобраться. Если нетрудно еще можно одну подсказку)
Я в настройках системы id страниц поставила. Теперь при нажатии он выводит на страницы, что я в значениях указала.
Но регистрации через yandex у меня не происходит. А нужно было менять Smarty-шаблон регистрации пользователя? Я просто думала modHybritAuth установила и все)
Fi1osof1
Fi1osof 06 октября 2014г в 10:54 #
1. Нет, не все.
2. Надо вообще-то еще и зарегистрировать свой сайт в соответствующих соцсетях, и в базу данных прописать ключи. Смотрите логи MODX-а, там ведь наверняка ошибки записаны. И не забывайте после внесения изменений ключей в базу данных сбрасывать кеш сайта, ибо кешируются настройки.
Читайте комментарии здесь, должны помочь. И скачайте последнюю сборку ShopModxBox, посмотрите как там реализовано все.
ylarus1
ylarus 06 октября 2014г в 11:19 #
ок, спасибо большое)
Fi1osof1
Fi1osof 06 октября 2014г в 11:22 #
Пожалуйста.
А
Андрей Балкин 22 февраля 2016г в 12:00 #
Николай добрый день. Подскажите еще не реализована регистрация через ВК?
Fi1osof1
Fi1osof 22 февраля 2016г в 12:07 #
Добрый день.
Нет еще.
А
Андрей Балкин 22 февраля 2016г в 12:16 #
Буду делать )
Fi1osof1
Fi1osof 22 февраля 2016г в 12:20 #
Давай :)
Запрос давно уже был modxclub.ru/blog/234.html
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.