Не удается найти настройки URL-адреса перенаправления HybridAuth - PullRequest
0 голосов
/ 17 апреля 2019

Не является дубликатом Сообщение для входа в Facebook: «URL заблокирован: это перенаправление не выполнено, поскольку URI перенаправления не внесен в белый список в настройках OAuth клиента приложения».

Эта проблема связана с тем, что CakePHP отправляет неправильный URL-адрес. Полностью понятно, почему Facebook не нравится URL, не ясно, как это исправить в CakePHP


Пытаясь использовать этот плагин HybridAuth для Cakephp, похоже, все работает, за исключением того, что URL перенаправления имеет http, что не нравится Facebook. Мне нужно сделать это https. Я не могу понять, как манипулировать этим значением.

https://www.facebook.com/v2.12/dialog/oauth?auth_type=rerequest...redirect_uri=http%3A%2F%2Fwww.example.com%2Fhybrid-auth%2Fendpoint%3Fhauth_done%3DFacebook&scope=email%2Cpublic_profile

Что дает мне эту ошибку, которая имеет смысл:

URL Blocked: This redirect failed because the redirect URI 
is not whitelisted in the app’s Client OAuth Settings. Make 
sure Client and Web OAuth Login are on and add all your app 
domains as Valid OAuth Redirect URIs.

Я пытался это исправить около двух часов. Я пробовал установить

'hauth_return_to' => [
                    'controller' => 'Lookings',
                    'action' => 'find',
                    'prefix' => false,
                    'plugin' => false,
                    '_ssl' => true
                ]

в AppController аутентифицирует настройки для HybridAuth, который, похоже, ничего не делает. Также пробовал много случайных вещей в интернете, которые, казалось, просто ломали больше вещей. Я немного растерялся.

Новое обновление

Я отследил происхождение этого URL до loginBegin метода в hybridauth/Hybrid/Providers/Facebook.php, и он в $this->params['login_done'];, хотя сейчас я не уверен, где это устанавливается.

Старое обновление

Обновление настроек аутентификации Appcontroller, похоже, по-прежнему не влияет на этот конкретный URL, независимо от того, что я делаю. Я полагаю, что этот параметр связан с URL-адресом перенаправления «URL-адрес выполнен», и моя проблема связана с URL-адресом «URL-адрес входа в систему», хотя я не совсем уверен.

1 Ответ

0 голосов
/ 18 апреля 2019

Добавьте свойство base_url к объекту HybridAuth в /config/hybridauth.php, чтобы вручную установить базовый URL.

Кроме того, создается впечатление, что base_url создается с использованием $ _SERVER ['HTTPS'], который, по-видимому, не имеет значения true в моей текущей среде.Это можно найти в методе login класса Hybrid_Provider_Adapter.

Решение любой из этих проблем должно решить проблему.

...