Поддержать Проект

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
  • Дополнения
    • DocLister
    • DLMenu
    • DLCrumbs
    • DLBuildMenu
    • DLLastViews
    • DLSiblings
    • DLRequest
    • DLglossary
    • DLSitemap
    • DocInfo
    • FormLister
    • Wayfinder
    • phpthumb
    • LikeDislike
    • eForm
    • Ditto
    • multiTV
    • AjaxMegaSearch
    • AjaxSearch
    • WebLoginPE
    • Breadcrumbs
    • CodeMirror
    • AnythingRating
    • Easy Newsletter
    • FirstChildRedirect
    • OpenGraphTags
    • ddTypograph
    • TagSaver
    • BlackList
    • CfgTv
    • ModxAccount
    • Forgot Manager Login
    • GetField
    • if
    • Jot
    • ListChild
    • ListIndexer
    • ManagerManager
    • ddMMEditor
    • MaxiGallery
    • MemberCheck
    • ddGetMultipleField
    • MetaX
    • MODxBB и phpBB
    • Yams
    • Personalize
    • PHx
    • Reflect
    • tagLinks
    • TransAlias
    • TvTagCloud
    • UltimateParent
    • WebSignup
    • WebLogin
    • countViews
    • thumb
    • imageCaptor
    • optimizeJPG
    • Preview Next
    • Shopkeeper
    • SiteMap
    • Sass
    • Selector
    • SimpleGallery
    • SimpleTube
    • SimpleFiles
    • Star Rating
    • MinifyX
    • adminNav
    • SimplePolls
    • CResource
    • MODxAPI
    • customTables
    • HtmlInLine
    • HtmlMinModxEvo
    • SHKUserProfile
    • PickDocsInTree
    • evoSearch
    • editDocs
    • PageBuilder
    • HybridAuth
    • Compare
    • alterTitle
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • Дополнения
  • avatar
    • Автор: Pathologic
    • DLSitemap
    • SimplePolls
    • Selector
    • DLMenu
    • LikeDislike
    • SimpleGallery
    • SimpleTube
    • DLRequest
    • FormLister

Авторизация через социальные сети на MODX Evo ✈ Evolution CMS

  • Дополнения
  • HybridAuth
919

Авторизация через социальные сети на MODX Evo ✈ Evolution CMS

Особенности:

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

Установка

Скачивать здесь: EvoHybridAuth

После установки нужно зайти на страницу веб-пользователя в админке, чтобы создалась таблица. Затем переименовать файл config.sample в config.php в папке assets/plugins/hybridauth/configи настроить в нем необходимые соцсети. По настройке придется гуглить, но что-то можно найти здесь: docs.modx.pro/components/hybridauth/providers/Также должен быть включен плагин userHelper.

Классы для основных провайдеров находятся в папке assets/plugins/hybridauth/vendor/hybridauth/hybridauth/hybridauth/Hybrid/Providers/ и не требуют дополнительных действий. В случае дополнительных провайдеров из папки assets/plugins/hybridauth/vendor/hybridauth/hybridauth/additional-providers/ необходимо добавить в конфигурацию провайдера ключ wrapper. На примере Vkontakte:

"Vkontakte" => array(
    "enabled" => true,
    "keys" => array("id" => "", "secret" => ""),
    "wrapper" => array(
        'class'=>'Hybrid_Providers_Vkontakte',
        'path' => MODX_BASE_PATH.'assets/plugins/hybridauth/vendor/hybridauth/hybridauth/additional-providers/hybridauth-vkontakte/Providers/Vkontakte.php'
    )
)

Компонент состоит из плагина и сниппета. Cниппет выводит список доступных для использования соцсетей, а плагин обеспечивает взаимодействие с ними.

Параметры плагина

registerUsers

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

debug

включает режим отладки, сообщения пишутся как в лог MODX, так и в файл assets/cache/ha/error.log

rememberme, cookieName, cookieLifetime

параметры для запоминания пользователя после авторизации, описаны в документации FormLister

redirectUri

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

loginPage

id страницы, на которую пользователь должен быть перенаправлен после авторизации; если не заполнено, то текущая страница

logoutPage

id страницы, на которую пользователь должен быть перенаправлен после выхода; если не заполнено, то текущая страница

groups

список групп, в которые нужно добавить пользователя после регистрации, в виде json-массива

userModel

класс для работы с пользователями, по умолчанию — modUsers

tabName

заголовок вкладки на странице веб-пользователя в админке

Параметры сниппета

langDir, lang, lexicon

настройка лексиконов, см. документацию FormLister

tpl

шаблон списка провайдеров, доступны плейсхолдеры [+providers+] и [+error+]; если значение пустое, то вернется массив с ключами providers и error

providerTpl

шаблон провайдера, доступны плейсхолдеры [+url+] (ссылка для выполнения действия), [+classNames+] (имена классов), [+title+] (название провайдера)

activeProviderTpl

шаблон подключенного провайдера, если не указывать, то используется значение providerTpl

errorTpl

шаблон сообщения об ошибке, доступен плейсхолдер [+error+]

registerCss

подключает файл assets/snippets/hybridauth/css/default.css