HybridAuth 3

Привет, друзья!

Рад представить вам новую версию HybridAuth для MODX, которая теперь использует 3ю версию библиотеки. Она (библиотека) была полностью переписана, что не могло не отразиться и на дополнении.


— Провайдера авторизации обязательно указывать с учётом регистра. То есть, должно быть именно &providers=`GitHub`, потому что просто &providers=`github` работать не будет, не загрузится нужный класс.

— В комплекте идёт гораздо меньше провайдеров, чем было. Библиотека в статусе release candidate и еще не всё переписали на новый формат. Однако, всё нужное готово.

— Для всех провайдеров нужно указывать redirect_uri через точку, а не подчёркивание. То есть, не https://modx.pro/?hauth_done=facebook*, а https://modx.pro/?hauth.done=facebook*.

— Недостаток провайдеров можно исправить добавлением собственных прямо в core/components/hybridauth/providers по образу и подобию. Они должны использовать namespace Hybridauth\Provider;, так что после добавления не забудьте сделать composer update.

— В комплекте не было провайдера для Яндекс, так что я его написал и положил в эту директорию, можно смотреть как пример.

— В настройках теперь можно указывать дополнительные параметры для адаптеров, согласно инструкции. Например, facebook* теперь можно выбрать scope:
{"keys":{"id":"12345","secret":"12345"},"scope":"email,public_profile"}
Это будет работать только если в вашем JSON есть ключ keys, что указывает на новый формат параметров. Старый формат, понятное дело, тоже работает.

А еще, если кто заметил, авторизация на file.modx.pro и bezumkin.ru теперь работает не через Office, а через HybridAuth. А это значит, что наше сообщество тоже поддерживает этот протокол, что позволило добавить свой адаптер в компонент — ModxPro.
С этого дня вы уже можете привязывать свою учётку сообщества в modhost.pro и modstore.pro.



Возможно (возможно!) позже будет доступна возможность подключить и свой собственный сайт к авторизации через modx.pro — но для этого нужно писать правила, интерфейс, а потом тестировать, сейчас времени на это нет.

Вот такие новости. Обновляемся, пишем отзывы.
Василий Наумкин
26 июля 2018, 15:35
modx.pro
3
3 436
+19

Комментарии: 24

Сергей Шлоков
26 июля 2018, 18:36
0
так что после добавления не забудьте сделать composer update
Зачем?
    Василий Наумкин
    26 июля 2018, 19:48
    0
    По идее, чтобы включить нового провайдера в автозагрузку. Но я там всю директорию providers указал, так что, наверное, и не надо.

    В любом случае, composer update обновит саму библиотеку HybridAuth, что полезно, пока она еще rc.
      Сергей Шлоков
      26 июля 2018, 19:59
      +1
      Если неймспейс соответвует PSR4, то класс загрузится автоматом. А если нет, то класс нужно добавить в секцию autoload и выполнить composer dump-autoload. Можно ещё добавить ключик —optimize-autoloader для оптимизации загрузки.

      В любом случае, composer update обновит саму библиотеку HybridAuth, что полезно, пока она еще rc.
      Это да.
    Jameson
    27 июля 2018, 08:57
    +2
    Огромное человеческо-нечеловеческое спасибо вам, Василий!
      Илья
      27 июля 2018, 17:56
      0
      Огромное спасибо вам, Василий!
      1 вопрос — с предыдущей версии обновится не удастся? только переустанавливать?
        Василий Наумкин
        27 июля 2018, 18:00
        0
        Я обновился
          Илья
          27 июля 2018, 18:03
          0
          кнопки обновить не появилось и при запросе «проверить обновления» выдал «Пакет уже обновлён до последней версии: hybridauth-2.0.4-pl»…

          при этом при выбора поставщика modstore предлагает установить версию 3.0

          подскажите как правильно обновиться?
            Василий Наумкин
            27 июля 2018, 18:09
            0
            при выбора поставщика modstore предлагает установить версию 3.0
            Вот серьёзно, нужно задать 2 вопроса, чтобы решиться нажать на одну кнопку?

            В чём проблема-то вообще?
              Илья
              27 июля 2018, 18:12
              0
              Вот серьёзно, нужно задать 2 вопроса, чтобы решиться нажать на одну кнопку?

              В чём проблема-то вообще?
              Сразу извиняюсь что пристаю с глупыми вопросами, но обычно Ваши компоненты обновляются штатно из Управления пакетами, а этот надо повторно скачивать через modstore что несколько нестандартно…
                Василий Наумкин
                27 июля 2018, 18:17
                0
                Ты ставил из modx.com, а надо из modstore.pro — и никаких странностей не будет.

                Зайди на досуге в свойства пакета и удивись, что там можно менять репозиторий установки. После чего все проверки будут из нужного места и всё правильно обновится.
                  Илья
                  27 июля 2018, 18:20
                  +2
                  Огромное спасибо за ответ и за терпение, действительно не заметил этой детали… Поменял и всё заработало)
        Володя
        27 июля 2018, 18:04
        0
        при авторизации через vk на modx.pro выдает
        {"error":"invalid_request","error_description":"Security Error"}
          Василий Наумкин
          27 июля 2018, 18:09
          0
          У меня авторизует.

          У этих соцсетей у каждой свои приколы, помочь не могу.
            Володя
            27 июля 2018, 18:11
            0
            не критично, просто не так давно она работала, сейчас нет…
          Илья
          27 июля 2018, 18:14
          0
          У меня такое было что то подобное на тестовом сайте, где то в логах нашёл расшифровку с текстом на тему это технический домен и может быть использован для рассылки спама, поэтому отказываемся авторизовывать…

          такое было от vk и facbook, остальные нормально авторизовывают.
          koozoo
          13 августа 2018, 04:34
          0
          Можно ли как-то через сниппет выцепить ID провайдера авторизации профиля? Например, получить ID ВК?
            Дмитрий
            06 ноября 2018, 20:14
            0
            Подскажите пожалуйста, а твиттер авторизация сейчас работает? У них произошли вроде изменения в api, я пробую в callback внести ?hauth.done=Twitter, но получаю — Invalid website url. Кто-то сталкивался с такой проблемой? Как правильно настроить?
              Василий Наумкин
              07 ноября 2018, 12:59
              0
              К сожалению, они меня забанили по неизвестными причинам — так что, проверить не могу.

              На своих всех сервисах заменил авторизацию Twitter на другие варианты.
                Дмитрий
                07 ноября 2018, 13:14
                0
                Понял, спасибо за ответ
              Юрий
              16 августа 2019, 01:01
              0
              Установил (впервые) HybridAuth 3.0.0. При вызове на странице появляется «Вы можете авторизоваться на сайте через:», но нет панели с иконками провайдеров. Подскажите в чем проблема?
                Юрий
                28 августа 2019, 21:45
                0
                Установленный на рабочем сайте HybridAuth 3.0.0 не работает (не появляются иконки провайдеров). На тестовом сайте modhost.pro все работает. Все установленные файлы идентичны, провайдеры настроены. Подскажите пожалуйста, в чем проблема?
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  24