Авторизация через соц.сети в MODX: hybridauth
Как мы знаем посетители сайта не любят авторизоваться на сайте методом простой регистрации. Сам процесс пользователю противен.
Ведь, чтобы зарегистрироваться ему нужно ввести как минимум email и пароль, затем подтвердить регистрацию через почту. Это отпугивает пользователя, и он не зарегистрируется на сайте, конечно если это для него важно.
Поэтому на сегодняшний день актуально авторизоваться на сайте через социальные сети в один клик. Это очень удобно и многие пользователи будут регистрироваться на сайте.
Для этого в MODX Revo есть хороший компонент hybridauth. Его функционал позволяет:
- Авторизоваться на сайте в один клик, через любые социальные сети.
- Подгружает из соц. сетей: Имя, email и логин.
- Для аватарок пользователей использует сервис Gravatar
- Объединение соц.сетей в одном аккаунте
Последний пункт очень полезен - ведь посетитель сможет объединять аккаунты всех социальной сетей на вашем сайте и спокойно заходить под своим пользователем на сайт через любую сеть
Установка и настройка hybridauth
Загрузите и установите компонент через административную панель сайта. (Приложения -> Установщик)
Далее надо будет вызвать его в нужном месте, где у вас будут авторизоваться пользователи. Там и будут показываться иконки соц. сетей.
[[!HybridAuth]]
Вы сможете выводить только нужные соц. сети, для этого укажите их параметре:
[[!HybridAuth?
&providers=`Twitter,Facebook,Vkontakte`
]]
Также важно указать, в какую группу пользователей попадёт наш посетитель после авторизации:
[[!HybridAuth?
&providers=`Twitter,Facebook,Vkontakte`
&groups=`Users:2`
]]
Настройка провайдеров.
Чтобы авторизоваться через соц. сети, необходимо в каждом из них зарегистрировать свой сайт. Затем получить ключи и ввести их в админке сайта.
К примеру «Вконтакте» можно по этой ссылке.
Получив ключ, переходим в раздел «Настройки системы», фильтруем по «hybridauth» и вбиваем полученные ключи.
Параметры HybridAuth
Название | По умолчанию | Описание |
---|---|---|
&activeProviderTpl | tpl.HybridAuth.provider.active | Чанк для вывода иконки привязанного сервиса. |
&addContexts | Дополнительные контексты, через запятую. Например, &addContexts=`web,ru,en` | |
&groups | Список групп для регистрации пользователя, через запятую. Можно указывать роль юзера в группе через двоеточие. Например, &groups=`Users:1` добавит юзера в группу "Users" с ролью "member". | |
&loginContext | current context | Основной контекст для авторизации. По умолчанию - текущий. |
&loginResourceId | 0 | Идентификатор ресурса, на который отправлять юзера после авторизации. По умолчанию, это 0 - обновляет текущую страницу. |
&loginTpl | tpl.HybridAuth.login | Этот чанк будет показан анонимному пользователю, то есть любому гостю. |
&logoutResourceId | 0 | Идентификатор ресурса, на который отправлять юзера после завершения сессии. По умолчанию, это 0 - обновляет текущую страницу. |
&logoutTpl | tpl.HybridAuth.logout | Этот чанк будет показан авторизованному пользователю. |
&providerTpl | tpl.HybridAuth.provider | Чанк для вывода ссылки на авторизацию или привязку сервиса к учетной записи. |
&providers | all available | Список провайдеров авторизации, через запятую. Все доступные провайдеры находятся тут {core_path}components/hybridauth/model/hybridauth/lib/Providers/. Например, &providers=`Google,Twitter,Facebook`. |
&rememberme | 1 | Пользователя остаётся авторизованным долгое время. По умолчанию - включено. |