HybridAuth

    HybridAuth

    Особливості:

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

    Встановлення

    Завантажувати тут: github.com/Pathologic/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

    providerTpl

    шаблон провайдера, доступні плейсхолдери (посилання для виконання дії), (імена класів), (назва провайдера)

    activeProviderTpl

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

    errorTpl

    шаблон повідомлення про помилку, доступний плейсхолдер

    registerCss

    підключає файл assets/snippets/hybridauth/css/default.css