HybridAuth и redirect_uri_mismatch

Василий добрый день!
Пытаюсь настроить авторизацию на сайте через HybridAuth, получил ключи приложеления в Гугл и Яндексе, прописал в настройках HybridAuth полученные данные этих сервисов — id и secret.
При попытке логина с Я пишет 404 ошибку и redirect_uri_mismatch. Гугл сначала показывает профиль через который войти хочу и после туже ошибку redirect_uri_mismatch.
В качестве Callback URI указывал мойсайт.ru/assets/components/hybridauth/action.php.
Подскажите в чем проблема?
Алексей Хребтов
28 декабря 2012, 12:42
modx.pro
8 581
0

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

Василий Наумкин
28 декабря 2012, 17:21
0
Сервисы Oath2 требуют точного url возврата:
http://example.com/assets/components/hybridauth/action.php?hauth.done=Google

http://example.com/assets/components/hybridauth/action.php?hauth.done=Yandex
Со вчерашнего дня есть инструкции в картинках на rtfm.
    Алексей Хребтов
    28 декабря 2012, 20:27
    0
    Да Василий, все получилось. Спасибо.
    с Mail.ru тоже разобрался, сначала белый экран был при попытке авторизации, создал в настройках новый ключ, и заработало. Подозреваю что в первый раз при создании ключа не писал ha.keys., поэтому и не срабатывал провайдер.
      Василий Наумкин
      28 декабря 2012, 20:47
      0
      Очень рад!

      На будущее — все ошибки должны быть в системном журнале.
        Алексей Хребтов
        29 декабря 2012, 08:47
        0
        В том и проблема что ошибок не было. Хотя была одна, когда вызывал снипет HybridAuth с провайдером которого уже удалил.<cut/>
        А так по логике и не должно было быть ошибок в системном журнале, т.к. ошибка direct_uri_mismatch происходила на стороне сервисов (Гугл, Яндекс) и до моего сайта ответ не доходил. А вот с мейлом когда ключ создал некорректно, и появлялся белый экран, почему не появилась запись в журнале не могу понять.
    Алексей Хребтов
    29 декабря 2012, 10:13
    0
    Чтобы не плодить тем, спрошу здесь.
    В заметках про версию 0,3,0 написано
    «При регистрации нового юезра добавлена проверка по email. Если такой адрес уже есть — учетка приклеится к нему.»
    Я через минишоп, делаю заказ, создается пользователь с указанным email. Потом логинюсь через HybridAuth с провайдера у которого учетка с этим же email. В итоге имею 2 пользователей с одинаковым email-ом (разные логины).
    Минишоп в качестве логина подставляет email, а HybridAuth берет у провайдера логин.
    Как не создавать пользователя если уже такой есть email?
      Василий Наумкин
      30 декабря 2012, 10:53
      0
      Это дело я убрал, иначе любой мог бы поменять email у себя в твиттере, например, и залогиниться под нужным юзером.

      То есть, это была натуральная дырка.

      Сейчас для привязки дополнительных учеток юзер должен авторизоваться на сайте людбым способом. Иначе да, будет 2 юзера.
      Алексей Хребтов
      03 января 2013, 13:34
      0
      Василий, с прошедшим НГ, побольше работы и денег!
      Подскажите где была эта дыра, мне это нужно, т.к. привязка идет через сервисы почтовые, то подделка емайл стремится к нулю.
      Скажите версию в какой это было или покажите если не трудно код, спасибо.

      Не отвечаю на ваш коммент, т.к. с планшета и перекидывает на раздел ответы, если нажимаю ответить.
      Светлана Закревская
      01 марта 2013, 20:12
      0
      Здравствуйте, Василий. Спрошу заодно по теме =). Настраиваю HybridAuth, все отлично настроилось, кроме Яндекса. Авторизует нормально, а после переадресации на сайт — как-будто и не авторизовало пользователя, не заходит, просто обновляется главная. В провайдерах прописан, настройки указаны: id и ключ. Подскажите, пожалуйста, что не так делаю?
        Алексей Хребтов
        01 марта 2013, 20:30
        0
        Светлана, у Яндекса нужно прописывать id и secret
        и проверьте чтобы Callback URL был вида example.com/assets/components/hybridauth/action.php?hauth.done=Yandex
        у меня так настроено:
          Василий Наумкин
          01 марта 2013, 20:52
          0
          Может, сниппет вызываешь кэшированным? То есть, нужно [[!HybridAuth, а не [HybridAuth

          Еще полезно посмотреть в системный журнал, если есть ошибки — то они там.
            Светлана Закревская
            02 марта 2013, 01:00
            0
            Спасибо за ответы, но… Проверила настройки еще раз — id и secret указаны правильно, Callback URL тоже такого же вида — по инструкции на хабре делала. Сниппет вызывается с восклицательным знаком. В консоли браузера — пусто. Может еще есть идеи?
              Алексей Хребтов
              02 марта 2013, 01:05
              0
              Так Василий писал, погляди ошибки в системном журнале Отчеты — журнал ошибок
              и еще погляди в error.log на хостинге есть ошибка в это время или нет (когда скрипт выполняется)
                Светлана Закревская
                02 марта 2013, 01:14
                0
                Понимаю, что возможно глупый с Вашей точки зрения вопрос =) Можно поточнее, где посмотреть Отчеты — журнал ошибок? Гугл мне не помог. На хостинге — только подобие логов, и, кажись, со времен нового сайта они не пишутся.
                  Алексей Хребтов
                  02 марта 2013, 01:19
                  0
                  Системный журнал — это логирование Modx, посмотреть в админке сайта Отчеты —> журнал ошибок.
                  что за хостинг?
                    Светлана Закревская
                    02 марта 2013, 01:24
                    0
                    Спасибо за быстрый ответ. Не догадалась, что речь о modx. Нет ошибок, последняя 27 числа прошлого месяца из-за того, что соединений много было =) Хостинг — beget.
                      Алексей Хребтов
                      02 марта 2013, 01:33
                      0
                      Ну тогда если не секрет покажите пациента (страницу с авторизацией) хочется посмотреть.

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

                      Поищите на хостинге error.log папка log или в корне сайта. Кстати возможно что они видны только из панели управления хостинга.

                      З.Ы. Попробуй заново получить ключ в Яндексе для сайта и установи их, возможно поможет.
                        Светлана Закревская
                        02 марта 2013, 01:43
                        0
                        Да какой секрет — pdru.ru
                        Нашла файл wget.1.log, в котором последние ошибки — с июля месяца прошлого года. В панели управлением журналы вообще были отключены. Включаю — просит подключить модуль статистики: пользователи, страны и т.д. Сомневаюсь, что это именно то, что нужно. Вообщем, не очень у меня от него приятные впечатления. Хотя, возможно, это после работы с colobridge =)
                          Светлана Закревская
                          02 марта 2013, 01:50
                          0
                          И только после повторной вставки ключа, я совершенно случайно заметила, что копируется он с пробелом впереди. Что при проверке было абсолютно незаметно. Убрала пробел — работает. Спасибо большое за помощь, Алексей.
                            Алексей Хребтов
                            02 марта 2013, 01:56
                            0
                            да не за что.
                            а логи включите, пусть работают, поддержку поспрашивайте как их включить, будет легче жить.
            Алексей Хребтов
            02 марта 2013, 01:18
            0
            ответил выше.
              Максим Свиридов
              18 сентября 2013, 22:42
              0
              А какой нынче (для 0.7.0) Для Yanndex`a Callback URI?
              Сделал по аналогии Твиттера: сайт.ru/components/hybridauth/?hauth.done=Yandex
              получаю redirect_uri_mismatch
              Что не так делаю?
                Konditerov Ilia
                11 ноября 2013, 21:18
                0
                Такая же фигня,
                Ошибка 400
                redirect_uri_mismatch
                и
                http://example.com/assets/components/hybridauth/action.php?hauth.done=Yandex
                и
                http://example.com/?hauth.done=Google
                пробовал указывать яндексу.
                  Василий Наумкин
                  11 ноября 2013, 22:06
                  0
                  ?hauth.done=Google — для Яндекса?

                  Толково.
                    Konditerov Ilia
                    11 ноября 2013, 22:08
                    0
                    Ошибся в копировании, копировал с описания с modx.com
                    Yandex конечно же указывал
                      Василий Наумкин
                      11 ноября 2013, 22:09
                      0
                      Ну, тогда непонятно, почему у меня работает.
                        Konditerov Ilia
                        11 ноября 2013, 22:10
                        0
                        Я заметил что файла
                        http://example.com/assets/components/hybridauth/<b>action.php</b>?hauth.done=Yandex
                        нету в папке, при прямом заходе из браузера сервер ругается так-же
                          Василий Наумкин
                          11 ноября 2013, 22:17
                          0
                          Его аж с версии 0.7.0 нет, о чем написано везде, где только можно.

                          bezumkin.ru/sections/components/1717/

                            Konditerov Ilia
                            11 ноября 2013, 22:30
                            0
                            Странно, пробовал же сначала так
                            http://example.com/?hauth.done=Google
                            , не работало, сейчас переставил компонент, попробовал и заработало. Спасибо большое.

                            У меня еще один вопрос по Tickets, при изменении типа ресурса у обычного документа на «Раздел тикетов», обратно поменять уже не получается (юзер по умолчанию).
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                29