При входе через Oauth по HTTPS белый экран

Проблемы с установкой или работой phpBB 3.1.x? Получите помощь здесь!
С 1 июля 2018 года phpBB Group прекращает поддержку phpBB версии 3.1.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.1 до 1 января 2019 года.
Подробнее: Окончание поддержки phpBB 3.1.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
DesignerMix
phpBB 1.4.3
Сообщения: 96
Стаж: 10 лет 11 месяцев
Благодарил (а): 15 раз
Поблагодарили: 20 раз

При входе через Oauth по HTTPS белый экран

Сообщение DesignerMix »

Описание проблемы: Я создал приложение для авторизации через Google здесь. Узнал и внес ключ и секретный код для провайдера Google в настройках авторизации форума Общие -> Аутентификация -> Oauth. После чего на странице входа на форум появилась кнопка Google. Но при нажатии на нее открывается ссылка https://dmyt.ru/forum/ucp.php?mode=logi ... ice=google и нет ничего (просто белый экран без кодов ошибок).

Произведенные изменения, после которых начались неполадки: Таковых нет, т.к. все с нуля.
Версия phpBB: 3.1.2
Используемые стили: SE Square Left
Используемые моды: BB3Topics 1.0.0; Highslide 0.0.1; Hotschi's Downloads 7.0.7; phpBB3 SEO Sitemap 1.0.0; Precise Similar Topics 1.3.0; QuickReply 0.1.4-dev; Reputation System 1.0.0-dev; Posts merging 2.0.1
Версия PHP: 5.3.13
Используемая СУБД и её версия: MySQL 5.1.73-log (вроде как это не версия phpMyAdmin, а именно MySQL)
Ссылка на конференцию: https://dmyt.ru/forum
Есть ли у вас тестовый аккаунт: Пользователь: test Пароль: 123456
Использовался ли поиск для решения проблемы: Да
Если да, то какие запросы вы использовали: oauth белый экран, ошибка oauth, oauth

Что я пробовал?
  • Грешил на проблему с настройками .htaccess который у меня лежит в корне сайта.
    Вот все условия в этом файле:

    Код: Выделить всё

    <IfModule mod_rewrite.c>
    # Редирект из корня на форум
    RewriteEngine On
    RewriteRule ^$ /forum [L]
    
    # Убираю из адреса www (редирет на http)
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    
    # Включаю HTTPS для всех страниц сайта
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L]
    
    # Редирект со старых страниц фалового архива на новые
    RewriteRule ^forum/downloads\.php(.*)$ forum/app.php/dl_ext/ [L,R=301]
    
    # Меняю страницу с картой сайта
    RewriteCond %{REQUEST_FILENAME} forum\/([a-z0-9_-]+)\.xml$
    RewriteRule ^(.*)$ forum/app.php [QSA,L]
    </IfModule>
    Но когда я отключил этот файл и все условия из него не выполнялись, то если я заходил по адресу с протоколом HTTP: я успешно переходил на страницу ввода пароля от аккаунта Google и когда я его ввожу то меня перекидывает на страницу http://dmyt.ru/forum/ucp.php?mode=login&login=external&oauth_service=google&code=4/XhQ4ihasvz8KacHj[часть_кода _удалена]MoGjtSfTp8dpSClQI которая также просто белая и без всяких ошибок. Т.е. проблема не решается до конца даже если файл .htaccess не активен.
  • Даже с отключенным файлом .htaccess при простом ручном вводе протокола HTTPS: проблема повторяется и я снова не могу попасть даже на страниц ввода пароля от аккаунта Google...
  • Пробовал проделать все то-же самое на копии форума на локальном компьютере. Все проходит успешно! Учетная запись Google привязывается к аккаунту на форуме и я могу входить с этой записью. На локальном компьютере протокол был HTTP:
  • Поэтому у меня возникает три вопроса:
  • По какой причине может не работать Oauth при включенном файле .htaccess который по сути просто меняет протокол с HTTP: на HTTPS:?
  • Возможно проблема как-то связана не с .htaccess а с тем, что по каким-то причинам Oauth не дружит с HTTPS:. Если да, то как это устранить?
  • Возможно дело в настройках php у провайдера? Если да, то что мне у них узнать или что попросить перенастроить?
PS: В настройках приложения Google я указывал следующие адреса на которые разрешается переадресация REDIRECT URIS:

Код: Выделить всё

http://dmyt.ru/forum/ucp.php?mode=login&login=external&oauth_service=google
http://dmyt.ru/forum/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=google
https://dmyt.ru/forum/ucp.php?mode=login&login=external&oauth_service=google
https://dmyt.ru/forum/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=google
А в поле JAVASCRIPT ORIGINS указан домен с протоколом https:

PPS: Я в печали, ведь одной из основных причин перехода на phpBB 3.1.x была возможность использования Oauth :(

Добавлено спустя 1 минуту 49 секунд:
Ах да, на момент создания вопроса на форуме работает файл .htaccess

Если для тестирования его нужно отключить то я готов.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение rxu »

В логе ошибок сервера что?
Изображение
DesignerMix
phpBB 1.4.3
Сообщения: 96
Стаж: 10 лет 11 месяцев
Благодарил (а): 15 раз
Поблагодарили: 20 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение DesignerMix »

rxu, долго искал способ как посмотреть ошибку. В итоге в админке хостинга нашел возможность включить вывод ошибок. Теперь вместо просто белого экрана вижу это:

Код: Выделить всё

Fatal error: Call to undefined function OAuth\Common\Http\Uri\filter_var() in /home/dmyt/dmyt.ru/docs/forum/vendor/lusitanian/oauth/src/OAuth/Common/Http/Uri/UriFactory.php on line 147
Добавлено спустя 8 минут 3 секунды:
А если я отключаю принудительный перевод на HTTPS: и захожу по HTTP:, то при нажатии на кнопку Google нормально перекидывает на ввод пароля аккаунта Google, я его ввожу и меня перекидывает обратно на форум где я вижу вот такую ошибку:

Код: Выделить всё

Fatal error: Uncaught exception 'OAuth\Common\Http\Exception\TokenResponseException' with message 'Function set_magic_quotes_runtime() is deprecated' in /home/dmyt/dmyt.ru/docs/forum/vendor/lusitanian/oauth/src/OAuth/Common/Http/Client/StreamClient.php:55 Stack trace: #0 /home/dmyt/dmyt.ru/docs/forum/vendor/lusitanian/oauth/src/OAuth/OAuth2/Service/AbstractService.php(97): OAuth\Common\Http\Client\StreamClient->retrieveResponse(Object(OAuth\Common\Http\Uri\Uri), Array, Array) #1 /home/dmyt/dmyt.ru/docs/forum/phpbb/auth/provider/oauth/service/google.php(80): OAuth\OAuth2\Service\AbstractService->requestAccessToken('4/32kBuWdtbRRxU...') #2 /home/dmyt/dmyt.ru/docs/forum/phpbb/auth/provider/oauth/oauth.php(198): phpbb\auth\provider\oauth\service\google->perform_auth_login() #3 /home/dmyt/dmyt.ru/docs/forum/phpbb/auth/auth.php(937): phpbb\auth\provider\oauth\oauth->login('', '') #4 /home/dmyt/dmyt.ru/docs/forum/includes/functions.php(2831): phpbb\auth\auth->login('', '', false, 1, 0) #5 /home/dmyt/dmyt.ru/docs/forum/ucp.php(84 in /home/dmyt/dmyt.ru/docs/forum/vendor/lusitanian/oauth/src/OAuth/Common/Http/Client/StreamClient.php on line 55
PS: Оставлю пока принудительное включение HTTPS: отключенным.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 15 лет
Откуда: Сергиев Посад
Благодарил (а): 295 раз
Поблагодарили: 287 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение владимир1983 »

Выполни

Код: Выделить всё

<?php
    if (function_exists('curl_init')) {
     echo 'YES';
    } else {
     echo 'NO';
    }
?>
Что покажет?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
DesignerMix
phpBB 1.4.3
Сообщения: 96
Стаж: 10 лет 11 месяцев
Благодарил (а): 15 раз
Поблагодарили: 20 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение DesignerMix »

владимир1983, и по HTTP: и по HTTPS: показывает NO

Просить хостинг включить curl_init ?
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 15 лет
Откуда: Сергиев Посад
Благодарил (а): 295 раз
Поблагодарили: 287 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение владимир1983 »

Да, попроси собрать php с модулем curl.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
DesignerMix
phpBB 1.4.3
Сообщения: 96
Стаж: 10 лет 11 месяцев
Благодарил (а): 15 раз
Поблагодарили: 20 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение DesignerMix »

Вас понял. Спасибо! Сегодня напишу им. А есть шанс что после этого будет работать на обоих протоколах http и https? Спрашиваю к тому, что может сразу еще что-то у них попросить или включения curl будет достаточно?
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 12 лет 11 месяцев
Благодарил (а): 97 раз
Поблагодарили: 91 раз
Забанен: Бессрочно

Re: При входе через Oauth по HTTPS белый экран

Сообщение xisp »

Скорее всего заработает, а если чего- то не хватит- то трудно предсказать, чего именно.
Лучше разбираться с проблемами по мере их поступления.
phpBBex
DesignerMix
phpBB 1.4.3
Сообщения: 96
Стаж: 10 лет 11 месяцев
Благодарил (а): 15 раз
Поблагодарили: 20 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение DesignerMix »

xisp, ушел писать в техподдержку. О результатах отпишусь.

Добавлено спустя 50 минут 28 секунд:
владимир1983, расширение CURL включено. Теперь ваш скрипт выдает YES.
Но к сожалению ничего не изменилось. Все ошибки остались такими-же. Т.е. по HTTPS: не пускает даже на ввод пароля (ошибка выше) а по HTTP: ошибка появляется после ввода пароля. Приведу ее еще раз на всякий случай:

Код: Выделить всё

Fatal error: Uncaught exception 'OAuth\Common\Http\Exception\TokenResponseException' with message 'Function set_magic_quotes_runtime() is deprecated' in /home/dmyt/dmyt.ru/docs/forum/vendor/lusitanian/oauth/src/OAuth/Common/Http/Client/StreamClient.php:55 Stack trace: #0 /home/dmyt/dmyt.ru/docs/forum/vendor/lusitanian/oauth/src/OAuth/OAuth2/Service/AbstractService.php(97): OAuth\Common\Http\Client\StreamClient->retrieveResponse(Object(OAuth\Common\Http\Uri\Uri), Array, Array) #1 /home/dmyt/dmyt.ru/docs/forum/phpbb/auth/provider/oauth/service/google.php(80): OAuth\OAuth2\Service\AbstractService->requestAccessToken('4/5dgxPsUn4A3zv...') #2 /home/dmyt/dmyt.ru/docs/forum/phpbb/auth/provider/oauth/oauth.php(198): phpbb\auth\provider\oauth\service\google->perform_auth_login() #3 /home/dmyt/dmyt.ru/docs/forum/phpbb/auth/auth.php(937): phpbb\auth\provider\oauth\oauth->login('', '') #4 /home/dmyt/dmyt.ru/docs/forum/includes/functions.php(2831): phpbb\auth\auth->login('', '', false, 1, 0) #5 /home/dmyt/dmyt.ru/docs/forum/ucp.php(84 in /home/dmyt/dmyt.ru/docs/forum/vendor/lusitanian/oauth/src/OAuth/Common/Http/Client/StreamClient.php on line 55
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 15 лет
Откуда: Сергиев Посад
Благодарил (а): 295 раз
Поблагодарили: 287 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение владимир1983 »

Админ. раздел > сведения о PHP >(скрин curl параметров)<
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
DesignerMix
phpBB 1.4.3
Сообщения: 96
Стаж: 10 лет 11 месяцев
Благодарил (а): 15 раз
Поблагодарили: 20 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение DesignerMix »

владимир1983, вот:
Параметры cURL.JPG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение rxu »

allow_url_fopen включено?
Изображение
DesignerMix
phpBB 1.4.3
Сообщения: 96
Стаж: 10 лет 11 месяцев
Благодарил (а): 15 раз
Поблагодарили: 20 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение DesignerMix »

rxu, да allow_url_fopen On On
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 15 лет
Откуда: Сергиев Посад
Благодарил (а): 295 раз
Поблагодарили: 287 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение владимир1983 »

В каком режиме работает php?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
DesignerMix
phpBB 1.4.3
Сообщения: 96
Стаж: 10 лет 11 месяцев
Благодарил (а): 15 раз
Поблагодарили: 20 раз

Re: При входе через Oauth по HTTPS белый экран

Сообщение DesignerMix »

Даже не знаю где это смотреть... Но могу предположить что в режиме "PHP как модуль Apache" т.к. в админке хостинга говорят что модуль CGI выключен.

Вернуться в «Поддержка phpBB 3.1.x»