Николай Ланец
1 окт. 2014 г., 0:40

modHybridAuth-1.0.1-beta и регистрация/авторизация через социальные сети на сайте MODX-Клуба

Продолжая заботиться об удобстве пользователей, сделал регистрацию через социальные сети на сайте 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-шаблона регистрации пользователя.
А почему не сделать регистрацию через VK? У нас она популярнее всех остальных четырех.
А предложение дописать ВК и одноклассники было давно, только что-то никто не поднапрягся. Я чуть позже планирую их дописать, как минимум ВК.
MODX Revolution 2.2.13-pl зашла установила через пакеты поставщика http://modx.com. Попробовала зайти через яндекс перешел на страницу с адресом .../assets/components/modhybridauth/connectors/profile/auth.php?provider=Yandex&redirect_id=104 написано "Cannot process registration". Как исправить?
Настройки модуля поправьте. ? И смотрите логи MODX-а, туда должно все выводиться.
Спасибо за подсказку. Что у меня ничего не выходит, он хочу разобраться. Если нетрудно еще можно одну подсказку) Я в настройках системы id страниц поставила. Теперь при нажатии он выводит на страницы, что я в значениях указала. Но регистрации через yandex у меня не происходит. А нужно было менять Smarty-шаблон регистрации пользователя? Я просто думала modHybritAuth установила и все)
1. Нет, не все. 2. Надо вообще-то еще и зарегистрировать свой сайт в соответствующих соцсетях, и в базу данных прописать ключи. Смотрите логи MODX-а, там ведь наверняка ошибки записаны. И не забывайте после внесения изменений ключей в базу данных сбрасывать кеш сайта, ибо кешируются настройки. Читайте комментарии здесь, должны помочь. И скачайте последнюю сборку ShopModxBox, посмотрите как там реализовано все.
ок, спасибо большое)
Николай добрый день. Подскажите еще не реализована регистрация через ВК?
Добрый день. Нет еще.
Давай :) Запрос давно уже был modxclub.ru/blog/234.html

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