HybridAuth

Опубликовано: 02 Дек 2014

Основное преимущество - работа с сервисами без посредников и возможность привязки нескольких сервисов к одной учетной записи MODX.

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

Параметры

Название

По умолчанию

Описание

&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

Запоминает пользователя на долгое время. По умолчанию - включено.

 

Примеры

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

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

[ [!HybridAuth]]

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

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

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

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

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

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

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

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

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

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

Яндекс

Вконтакте

Twitter

Google

Facebook

Контексты

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

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

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

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: