Skip to content
  1. Компоненты
  2. HybridAuth
  3. Сниппеты
  4. HybridAuth

HybridAuth

Сниппет выводит форму для авторизации на сайте.

Параметры

НазваниеПо умолчаниюОписание
&activeProviderTpltpl.HybridAuth.provider.activeЧанк для вывода иконки привязанного сервиса.
&addContextsДополнительные контексты, через запятую. Например, &addContexts=`web,ru,en`
&groupsСписок групп для регистрации пользователя, через запятую. Можно указывать роль юзера в группе через двоеточие. Например, &groups=`Users:1` добавит юзера в группу "Users" с ролью "member".
&loginContextcurrent contextОсновной контекст для авторизации. По умолчанию - текущий.
&loginResourceId0Идентификатор ресурса, на который отправлять юзера после авторизации. По умолчанию, это 0 - обновляет текущую страницу.
&loginTpltpl.HybridAuth.loginЭтот чанк будет показан анонимному пользователю, то есть любому гостю.
&logoutResourceId0Идентификатор ресурса, на который отправлять юзера после завершения сессии. По умолчанию, это 0 - обновляет текущую страницу.
&logoutTpltpl.HybridAuth.logoutЭтот чанк будет показан авторизованному пользователю.
&providerTpltpl.HybridAuth.providerЧанк для вывода ссылки на авторизацию или привязку сервиса к учетной записи.
&providersall availableСписок провайдеров авторизации, через запятую. Все доступные провайдеры находятся тут {core_path}components/hybridauth/model/hybridauth/lib/Providers/. Например, ```&providers=`Google,Twitter,Facebook````.
&rememberme1Запоминает пользователя на долгое время. По умолчанию - включено.

Примеры

Сниппет нужно вызывать некэшированным, так как в зависимости от авторизации пользователя он выводит разные чанки.

При обычном вызове сниппет выведет всех провайдеров, зарегистрированных в системе

modx
[[!HybridAuth]]

Их можно ограничить, указав списком, через запятую:

modx
[[!HybridAuth?
  &providers=`Yandex,Google,Twitter,Facebook,Vkontakte`
]]

Авторизация в 2 контекста сразу:

modx
[[!HybridAuth?
  &providers=`Yandex,Google`
  &loginContext=`web`
  &addContexts=`en`
]]

Настройки провайдеров

Для каждого провайдера авторизации указывается отдельная системная настройка с префиксом ha.keys.:

Настройки провайдеров

Значение настройки - JSON массив, содержимое которого зависит от самого провайдера.

Например, для Google нужно указать id и secret, а для Twitter - key и secret. Так что, смотрите внимательно, какие настройки вам выдаст сервис при регистрации.

Ссылки на регистрацию у провайдеров

Для работы компонента нужно получить ключи от провайдера. Поэтому, вот несколько основных ссылок:

Контексты

Если у вас несколько независимых контекстов на сайте, вы можете организовать для них авторизацию через одних и тех же провайдеров, но для разных доменов.

Для этого нужно указывать ключи непосредственно в настройках контекста, а не в общих системных.

Для правильной работы сниппета желательно включить дружественные url.