hybridauth 2.13.0 + Google аутентификация - PullRequest
0 голосов
/ 02 февраля 2019

Я использую hybridauth для входа в систему на своем веб-сайте (PHP 7.0) уже несколько лет.

Я обновил его до версии 2.13.0 (последняя стабильная на данный момент)

Мне удалось правильно настроить и заставить работать Facebook, Twitter, Linkedin.

Я застрял в Google.Вот конфиг:

"Google" => array(
                "enabled" => true,
                "keys" => array("id" => "$social_google_id", "secret" => "$social_google_secret"),   
                "scope" => "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email"  
            ),

Все в порядке, но похоже, что URL-адрес перенаправления, отправленный Google, генерирует недопонимание в пути на уровне сервера, когда я получаю сообщение:

Forbidden

You don't have permission to access /hybridauth/ on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

строка URL: https://example.com/hybridauth/?hauth.done=Google&code=4/5QDkTNFvdiPkmQCct6m0bJ5Y_j0VjRSITw6EMn3NjyT6HPlrThx0iK5NrXkdxWnYoE0V_Y0ALV6iayHBuCb8Pk&scope=email+profile+https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/userinfo.email

Если я обрежу последнюю часть до: https://example.com/hybridauth/?hauth.done=Google&code=4/5QDkTNFvdiPkmQCct6m0bJ5Y_j0VjRSITw6EMn3NjyT6HPlrThx0iK5NrXkdxWnYoE0V_Y0ALV6iayHBuCb8Pk&scope=email+profile

Тогда это сработает, и я получу данные от пользователя

Iсклонны думать, что это связано с косой чертой в области видимости Google.

Есть идеи, как ее отсортировать?Может быть, правило перезаписи в .htaccess?

РЕДАКТИРОВАТЬ

Я проверил еще раз, и ошибочной частью является ".profile"

На самом деле, если я укажуТОЛЬКО для электронной почты это работает ... Проблема в том, что мне нужно также имя пользователя ... Любая идея?

Здесь error_log от Apache

[Сб 02 февраля 08: 26: 31.7901782019] [: ошибка] [pid 4117: tid 47611986818816] [клиент 94.39.134.131:52882] [клиент 94.39.134.131] ModSecurity: доступ запрещен с кодом 403 (этап 2).Подходящая фраза ".profile" в ARGS: область применения.[file "/etc/apache2/conf.d/modsec_vendor_configs/comodo_apache/08_Global_Other.conf"] [строка "57"] [id "210580"] [rev "2"] [msg "COMODO WAF: Попытка доступа к файлу OS || example.com | F | 2 "] [data" Сопоставимые данные: .profile найден в ARGS: область действия: профиль электронной почты https: /www.googleapis.com/auth/userinfo.email https: /www.googleapis.com/auth/userinfo.1035 *https://accounts.google.it/accounts/SetSID

1 Ответ

0 голосов
/ 02 февраля 2019

Хорошо, для всех, кто сталкивается с этой проблемой, подтверждается, что это настройка на стороне сервера.

Я связался со своим хостинг-провайдером, и они подтвердили, что проблема ложная:

Они сказали:

"Блок был связан с WAF mod_security на стороне сервера, которая может генерировать ложные срабатывания. Мы исключили правило, вызвавшее такое поведение"

После завершениячтобы все работало правильно

...