[решено] хотел задать вопрос по HybridAuth, но...

на сайте simpledream хотел задать вопрос про HybridAuth, но HybridAuth не впустил-)))

можете проверить store.simpledream.ru/packages/users/hybridauth.html
не получается войти через google.

вопрос по прикручиванию к сайту HybridAuth, компоненту установил, дальше где смотреть что делать?
спасибо.
Legushka
11 февраля 2014, 10:41
modx.pro
5 829
0

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

Василий Наумкин
11 февраля 2014, 14:57
0
В правом верхнем углу моего сайта есть очень полезная ссылка. Попробуй там поискать.
    Legushka
    11 февраля 2014, 15:40
    0
    спасибо, попробовал. Василий, есть просьба: у меня сейчас на сервере не работает cURL
    (cURL должен быть установлен и настроен как расширение PHP, если вы собираетесь использовать управление пакетами. Информацию по установке и настройке cURL можно найти здесь...)

    из за этого не работает загрузка с репозиторий, только поиск пакетов локально… могли бы вы дать в личку ссылку на архив? я поставил сегодня HybridAuth, но версия оказалась 0.8.5 выпуск pl3

    сист.админ пока не хочет ставить дополнение cURL-(
      Legushka
      11 февраля 2014, 15:54
      0
      кажется версия и была 0.8.5 выпуск pl3 последней, перепутал с тиккетами
      в шаблон вставляю [[!HybridAuth?]], открываю эту тестовую страницу и выходит ошибка:
      На этой странице обнаружена циклическая переадресация Перезагрузить?
        Aртур Чикин
        11 февраля 2014, 15:57
        0
        Ты провайдеров настроил? Открой http://docs.modx.pro/components/hybridauth/ И по порядку по 3 раза каждую страницу перечитай.
          Legushka
          11 февраля 2014, 16:45
          0
          настроил яндекс и запустил в шаблоне так:
          ...
              <body id="top">
                  [[!HybridAuth? &providers=`Yandex`]]
              </body>
          ...
          результат тот же: На этой странице обнаружена циклическая переадресация Перезагрузить?
            Aртур Чикин
            11 февраля 2014, 16:47
            0
            Я же сказал по 3 раза перечитай каждую страницу…

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

            Возможны проблемы на хостингах с PHP-APC. Если при авторизации вы получаете ошибку You cannot access this page directly — попробуйте отключить его. Для этого можно прописать в начале файла /index.php
              Legushka
              11 февраля 2014, 16:53
              0
              дружественные урлы включены (Настройки системы > friendly_urls = Да)
              из какой папки в файле index.php надо дописывать?
                Aртур Чикин
                11 февраля 2014, 17:00
                0
                automatic_alias = Да
                friendly_urls = Да
                use_alias_path = Да
                У вас вылазит ошибка You cannot access this page directly, что бы редактировать index.php?
        Legushka
        12 февраля 2014, 08:17
        0
        доброе утро
        для Артура:
        ошибка если нажать подробнее
        Загрузка веб-страницы по адресу http://такойтосайт.тамто вызвала слишком много переадресаций. Попробуйте очистить для этого сервера файлы cookie или разрешить их прием от независимых сайтов. Если это не поможет, возможно, проблема связана не с вашим компьютером, а с конфигурацией сервера.
        Подробнее об этой неполадке.
        Код ошибки: ERR_TOO_MANY_REDIRECTS
          Aртур Чикин
          12 февраля 2014, 08:57
          0
          Ты Яндекс настроил как тут показано? http://docs.modx.pro/components/hybridauth/providers/yandex
            Legushka
            12 февраля 2014, 09:06
            0
            сделал приложение на яндексе, в Callback URL вписал тоже самое, заменив домен на свой, (может надо было оставить domain.ltd?)

            после вбил ИД и пароль в настройки modx для яндекса.
              Aртур Чикин
              12 февраля 2014, 09:14
              0
              сделал приложение на яндексе, в Callback URL вписал тоже самое, заменив домен на свой, (может надо было оставить domain.ltd?)
              Не ерничай. Все ошибки циклической переодресации связаны с неправильной настройкой, а это невнимательность.

              Попробуй настроить VK авторизацию и посмотреть как она работает.
                Legushka
                12 февраля 2014, 09:23
                0
                возможна ошибка цикличности из за того, что на работе стоит прокси и не пускает на VK, фейсбук, твиттер и прочие соц сети?
                  Aртур Чикин
                  12 февраля 2014, 10:50
                  0
                  Очень даже может быть. Попробуй проверить авторизацию с телефона и мобильного интернета.
                    Legushka
                    12 февраля 2014, 11:21
                    0
                    прокся исключается, попросил глянуть страницу там где нет прокси — тоже самое.
                    возможно из за того что у меня все остальные провайдеры, кроме яндекса не настроены?
                    ведь запускаю только так [[!HybridAuth? &providers=`Yandex`]]
                    а тут на работе настроить остальных провайдеров и не получится из за прокси.
                      Aртур Чикин
                      12 февраля 2014, 12:48
                      0
                      trash[Гав Гав]xarieyle.com скинь доступ я гляну.
                        Legushka
                        14 февраля 2014, 09:52
                        0
                        скинул настройки, посмотри плиз где я ошибся.
          Legushka
          12 февраля 2014, 08:24
          0
          эта ошибка может быть связана с тем что у меня есть свой плагин, который срабатывает на OnPageNotFound?
            Aртур Чикин
            12 февраля 2014, 08:58
            0
            Не думаю.
              Василий Наумкин
              12 февраля 2014, 09:17
              0
              Очень даже может быть, если авторизованный юзер не имеет прав на просмотр страницы — его и зациклит.
              Legushka
              12 февраля 2014, 08:57
              0
              есть подозрение что сайт не пережил переезда на другой хост и не все работает как надо (например кеш не скидывает, на закладке файлы под админом не видно файлов, дружественные урлы включены, страницы показаны как надо, а если из админки открыть просмотр ресурса то страница не определена и много мелких замечаний на которые не обращал еще внимание)
              сегодня попробую обновить сайт и потом заново все установить и проверить
                Aртур Чикин
                12 февраля 2014, 08:59
                0
                Почисти кэш в кучную удалив папку core -> cache
                Legushka
                12 февраля 2014, 13:30
                0
                снипет HybridAuth
                <?php
                /** @var array $scriptProperties */
                
                $modx->error->message = null;
                if (!$modx->loadClass('hybridauth', MODX_CORE_PATH . 'components/hybridauth/model/hybridauth/', false, true)) {return;}
                
                $HybridAuth = new HybridAuth($modx, $scriptProperties);
                ...
                инменно этот кусок кода зацикливается, проверил так: закоментировал все в снипете — страница открывается, когда дошел до этих строк — страница уходит в цикл

                может у меня не та версия? потому что на данный момент на серваке не стоит cURL
                «cURL должен быть установлен и настроен как расширение PHP» у меня небыло доступа к репозиторию и поэтому установил компоненту HybridAuth локально, взяв архив от сюда modx.com/extras/package/hybridauth

                может они отличаются?
                  Legushka
                  12 февраля 2014, 13:47
                  0
                  текст снипета который у меня
                  <?php
                  /** @var array $scriptProperties */
                  
                  $modx->error->message = null;
                  if (!$modx->loadClass('hybridauth', MODX_CORE_PATH . 'components/hybridauth/model/hybridauth/', false, true)) {return;}
                  $HybridAuth = new HybridAuth($modx, $scriptProperties);
                  $HybridAuth->initialize($modx->context->key);
                  
                  if ($modx->error->hasError()) {
                  	return $modx->error->message;
                  }
                  // For compatibility with old snippet
                  elseif (!empty($action)) {
                  	$tmp = strtolower($action);
                  	if ($tmp == 'getprofile' || $tmp == 'updateprofile') {
                  		return $modx->runSnippet('haProfile', $scriptProperties);
                  	}
                  }
                  
                  if (empty($loginTpl)) {$loginTpl = 'tpl.HybridAuth.login';}
                  if (empty($logoutTpl)) {$logoutTpl = 'tpl.HybridAuth.logout';}
                  if (empty($providerTpl)) {$providerTpl = 'tpl.HybridAuth.provider';}
                  if (empty($activeProviderTpl)) {$activeProviderTpl = 'tpl.HybridAuth.provider.active';}
                  
                  $url = $HybridAuth->getUrl();
                  $error = '';
                  if (!empty($_SESSION['HA']['error'])) {
                  	$error = $_SESSION['HA']['error'];
                  	unset($_SESSION['HA']['error']);
                  }
                  
                  if ($modx->user->isAuthenticated($modx->context->key)) {
                  	$add = array();
                  	if ($modx->user instanceof haUser) {
                  		/* @var haUserService $v */
                  		$profiles = $modx->user->getMany('Services');
                  		foreach ($profiles as $v) {
                  			$add = array_merge($add, $v->toArray(strtolower($v->get('provider').'.')));
                  		}
                  	}
                  
                  	$user = $modx->user->toArray();
                  	$profile = $modx->user->Profile->toArray();
                  	unset($profile['id']);
                  	$arr = array_merge(
                  		$user,
                  		$profile,
                  		$add,
                  		array(
                  			'login_url' => $url.'login',
                  			'logout_url' => $url.'logout',
                  			'providers' => $HybridAuth->getProvidersLinks($providerTpl, $activeProviderTpl),
                  			'error' => $error,
                  		)
                  	);
                  	return $modx->getChunk($logoutTpl, $arr);
                  }
                  else {
                  	$arr = array(
                  		'login_url' => $url.'login',
                  		'logout_url' => $url.'logout',
                  		'providers' => $HybridAuth->getProvidersLinks($providerTpl, $activeProviderTpl),
                  		'error' => $error,
                  	);
                  	return $modx->getChunk($loginTpl, $arr);
                  }
                  может у нас отличаются версии? могли бы вы скинуть мне архив с вашего репозитория?
                    Aртур Чикин
                    12 февраля 2014, 13:52
                    0
                    Он точно такой же как и у меня.
                    Aртур Чикин
                    12 февраля 2014, 13:50
                    0
                    Нет они не отличаются. Зацикливание происходит из за того что ты не правильно настроил компонент. Тебе уже не один раз говорили.
                      Legushka
                      12 февраля 2014, 13:57
                      0
                      я так и не понял, влияет то, что я всех провайдеров кроме яндекса не настроил? потому что всех остальных я еще не настраивал. а не настраивал потому что они тут на работе не проходят прокси. может не буду я ваше время тратить и как домой попаду настрою всех остальных.

                      спасибо за ваши крепкие нервы)
                        Aртур Чикин
                        12 февраля 2014, 13:59
                        0
                        Нет это не играет роли. Если ты настроил яндекс то вызова вполне хватит:

                        [[!HybridAuth? &providers=`Yandex`]]
                    Legushka
                    12 февраля 2014, 23:24
                    0
                    есть продвижение точнее заметил новую вещь: после установки пакета в папке
                    /assets/components/hybridauth/ нет action.php
                    это может быть причиной, или такого файла на самом деле и нет. может у меня не хватает прав на сервере при установки?
                    могли бы вы дать полное содержимое этой папки, у меня там только две папки css и img?
                      Legushka
                      13 февраля 2014, 08:34
                      0
                      еще раз скачал архив проекта с modx.com/extras/package/hybridauth
                      глянул manifest.php

                      в версии 0.7.0 pl2 было
                      — Replaced file «action.php» to plugin «HybridAuth».

                      в версии 0.8.5 pl3
                      — Added Foursquare icon.

                      но в архиве 0.8.5 pl3, нет файла action.php, возможно у вас работает потому что вы со старых версий уже имеете этот файл, у меня его нет потому что «Added Foursquare icon.» прошло в ущерб action.php.

                      посмотрите плиз, или у вас так же в папке /assets/components/hybridauth/ нет action.php
                        Legushka
                        13 февраля 2014, 08:45
                        0
                        возможно этот файл создается скриптом во время установки который у меня не срабатывает(
                          Василий Наумкин
                          13 февраля 2014, 09:34
                          0
                          — Replaced file «action.php» to plugin «HybridAuth».
                          Файл action.php заменён на плагин HybridAuth.

                          Нет этого файла с версии 0.7.
                            Aртур Чикин
                            13 февраля 2014, 10:37
                            0
                            Ты мозг выносишь всем, Компонент у тебя самой последней версии (0.8.5-pl3). Я тебе говорю что ты не внимательно читаешь, а потом задаешь глупые вопросы. Я тебе предложил посмотреть и настроить авторизацию ты проигнорировал. Раз хочешь сам все настроить то читай документацию внимательно!

                            http://docs.modx.pro/components/hybridauth/

                            Ты не единственный кто сталкивался с этой проблемой, и те кто ее решил в один голос скажут что это из за невнимательности!
                        Дмитрий Ломакин
                        13 февраля 2014, 01:01
                        0
                        я еще с таким стодкнулся
                        Если входишь HybridAuth через Facebook и потом на странице авторизации сначала согласиться связать сайт и мой аккаунт, а на следущий вопрос «разрешить сайту размещать публикации от моего имени» (или как то аналогично по смыслу) сказать НЕТ, то крындец наступает:
                        на сайт не зайти
                        удалить на facebook привязку и по новой зайти через HybridAuth тоже не помогает
                        в общем больше на сайт не зайти никак через facebook
                        PS с другими соцсетями не экспериментировал
                        PPS на store.simpledream.ru я сейчас (только что проверил) я зайти через facebook не могу, хотя сюда зашел без проблем.
                          Legushka
                          13 февраля 2014, 09:17
                          0
                          аналогично на store.simpledream.ru не могу зайти через google
                            Василий Наумкин
                            13 февраля 2014, 09:35
                            0
                            Потому что сначала нужно привязать соцсеть к учетной записи.
                              Дмитрий Ломакин
                              13 февраля 2014, 12:47
                              0
                              Странно что на странице входа об этом не очевидном моменте нет упоминания
                          Legushka
                          21 февраля 2014, 08:43
                          0
                          Чикин Артур, Василий Наумкин, ребята большое спасибо и за помощь, потраченное время и за приложение.
                          Проблема снята со сменой хоста: на предыдущем хосте не хватало прав для редактирования файлов внутри core, потому что некоторые файлы создавались с другим owner и group, и из за этого некоторые скрипты вообще не отрабатывали (не понятно какие и как сайт еще работал)
                          переехал на другой хост. Делаю по инструкции и все работает.-)
                          Мордынский Николай
                          17 сентября 2014, 20:31
                          0
                          Вы должны сначала привязать эту соц.сеть к вашей учётной записи!

                          Чего оно хочет не понял.
                          [[!HybridAuth?providers=`Vkontakte,Yandex,Twitter,Mailru`]]
                          Проверяю по яндексу. Яндекс говорит что приложение запрашивает данные жму ок редиретит на сайт и под чанком выводит ошибку

                          [[!HybridAuth?providers=`Vkontakte,Yandex,Twitter,Mailru`]]
                          Ключи настроены

                          Отбой ошибка возникает если в настройках стоит не создавать пользователя.
                          Соответственно надо делать интерфейс привязки аккаунта соц сети
                            Василий Наумкин
                            18 сентября 2014, 06:03
                            0
                            Соответственно надо делать интерфейс привязки аккаунта соц сети
                            Который уже создан в haProfile. Нужно просто зарегистрировать и авторизовать юзера другим дополнением: Office или Login, а потом он уже сможет привязать соцсеть и входить через неё.

                            Иначе будут постоянные «я вчера зашел через яндекс, а теперь через mail и у меня все другое, ааа!!!!». И куча юзеров в админке.
                            Немыкин Андрей
                            22 декабря 2014, 19:12
                            0
                            наткнулся на грабли с зацикливанием и скажу еще раз то что у Автора сказано мимоходом:

                            1. Всё работает.
                            2. Правильно регистрируйтесь
                            3. [то что было у меня]
                            «Известные проблемы
                            Для правильной работы сниппета желательно включить дружественные url.
                            Возможны проблемы на хостингах с PHP-APC. Если при авторизации вы получаете ошибку You cannot access this page directly — попробуйте отключить его. Для этого можно прописать в начале файла /index.php ini_set('apc.cache_by_default', 0); »
                              Aртур Чикин
                              23 декабря 2014, 10:45
                              0
                              Можете удалять обратно, уже исправили.
                              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                              45