Сообщение для входа в Facebook: "URL Blocked: эта переадресация не удалась, потому что URI перенаправления не включен в настройки настроек клиента OAuth".
Важное замечание:
Если вы зарегистрировались для тестирования, перейдите в настройки своего профиля и в интересы добавьте удалить профиль.
Попытка войти с Facebook на мой сайт:
Я получаю следующую ошибку:
URL заблокирован: это перенаправление не удалось, поскольку URI перенаправления не в списке настроек клиента OAuth. Убедитесь, что Клиент и Вход в систему OAuth включен и добавляет все ваши домены приложений в качестве Valid OAuth Перенаправление URI.
My settings
(Основы) в Facebook:
На вкладке "Дополнительно" Valid OAuth redirect URIs
установлено значение:
http://openstrategynetwork.com/_oauth/facebook?close
Приложение public
.
Дополнительные настройки (Дополнительно) здесь:
![введите описание изображения здесь]()
Ключ и секрет приложения верны. Я использую пакеты Meteor и его учетные записи.
Ответы
Ответ 1
Кнопка входа в систему Facebook на вашем сайте ссылается на:
https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=
Примечание: redirect_uri=http://openstrategynetwork.com/_oauth/facebook
Если вы вместо этого измените ссылку на:
redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close
Он должен работать. Или вы можете изменить ссылку Facebook на http://openstrategynetwork.com/_oauth/facebook
Вы также можете добавить http://localhost/_oauth/facebook
в действительные URI переадресации.
Facebook требует, чтобы вы переименовали URI в белый список, поскольку в противном случае люди могли бы подключиться к Facebook для вашей службы, а затем отправить маркер доступа на сервер злоумышленника! И вы не хотите, чтобы это произошло;]
Ответ 2
Как пишет спрашивающий
На вкладке "Дополнительно" допустимые URI перенаправления OAuth установлены на:...
и у меня была та же проблема (запись URL перенаправления в неправильное поле ввода), я хотел бы подчеркнуть, что
Это НЕ
Settings -> Advanced -> Share Redirect Whitelist
но
Facebook Login -> Settings -> Valid OAuth redirect URIs
Это бы сэкономило мне 2 часа проб и ошибок.
Вы также должны иметь в виду, что
www.example.com
отличается от example.com
. Добавьте оба формата в URL перенаправления.
Ответ 3
Это сработало для меня.
redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/
Я получил это из своего браузера после нажатия кнопки Facebook, ваш браузер будет перенаправлен на ссылку для интеграции с API Facebook, так что вы получите это перенаправление. Для моего случая ссылка была вот откуда я взял redirect_url.
https://www.facebook.com/dialog/oauth?client_id=...&scope=&response_type=code&state=...&redirect_uri=http://127.0.0.1:8080/accounts/facebook/login/callback/
![enter image description here]()
Ответ 4
Убедитесь, что домен приложения "и Facebook Login = > действительные URI перенаправления OAuth. Там вы должны проверить www или без www. Это лучше, если вы используете с www или без всех URL-адресов в php, html, css файлах и настройках приложения Fb.
Другое дело, если вы используете "/" конец URL-адресов, вы должны добавить этот URL-адрес в настройки приложения Действительные URI-адреса перенаправления OAuth.
Пример: - https://www.example.com/index.php/, если этот URL-адрес, если вы используете в URL-адресе перенаправления, вы должны установить его в настройках приложения.
Надеюсь, это поможет.
Ответ 5
Для моего приложения Node,
"facebook": {
"clientID" : "##############",
"clientSecret": "####################",
"callbackURL": "/auth/facebook/callback/"
}
поставить обратный URL-адрес родственника
Мои OAuth перенаправляют URI следующим образом
![enter image description here]()
Убедитесь, что "/" в конце URI перенаправления авторизации Facebook
Эти настройки помогли мне.
Ответ 6
Переход от hauth.done = Facebook к hauth_done = Facebook в действительных URI перенаправления OAuth исправил его для меня.
Ответ 7
В моем случае мне просто нужно было убедиться, что у меня есть URL-адреса как с www, так и без него для URL-адреса домена приложения и URL-адреса перенаправления:
![enter image description here]()
В моем случае мне пришлось использовать: signin-facebook
после URL моего сайта, для URL перенаправления.
Ответ 8
Хорошо. Прежде всего, это очень четкое сообщение об ошибке. Просто посмотрите, как многие разработчики пропускают это, в том числе и меня самого Посмотрите на скриншот здесь, пожалуйста.
![enter image description here]()
Под продуктами> Facebook Войти> Настройки
или просто перейдите по этому адресу (замените YOUR_APP_ID на идентификатор вашего приложения, lol):
https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/
Если вы работаете над localhost:3000
, убедитесь, что у вас есть https://localhost:3000/auth/facebook/callback
Конечно, вам не нужно иметь статус в реальном времени (зеленый переключатель в правом верхнем углу), но в моем случае я сейчас развертываюсь на heroku и скоро заменю localhost:3000
на https://myapp.herokuapp.com/auth/facebook/callback
Конечно, я буду обновлять URL-адреса в Настройки/Основные & Настройки/Дополнительно, а также добавить URL-адрес политики конфиденциальности в основной раздел.
Я предполагаю, что вы правильно настроили initializer/devise.rb, если вы используете devise и у вас установлен правильный драгоценный камень facebook gem 'omniauth-facebook', '~> 4.0'
и gem 'omniauth', '~> 1.6'
, и у вас есть необходимые столбцы в вашей пользовательской таблице, такие как uid, image, и провайдер. Это.
Ответ 9
Попытайтесь добавить http://openstrategynetwork.com/ sigin-facebook к настройкам клиента OAuth, действительным URL-адрес переадресации вместе с вашим собственным перенаправлением URL.
Ответ 10
Войти Помощник вашего сайта
$loginUrl = $helper- > getLoginUrl ('xyz.com/user_by_facebook/', $permissions);
и в панели инструментов приложения facebook (вкладка "Продукты": Вход в Facebook)
Действительные URI перенаправления OAuth также должны быть одинаковыми для xyz.com/user_by_facebook/
как упоминалось ранее, делая запрос из Интернета
Ответ 11
У нас была та же проблема, такой кошмар.
-
Убедитесь, что ваши идентификаторы приложений и секретные ключи верны. Если вы используете отдельные тестовые и тестовые приложения для тестирования, идентификаторы приложений и секретные ключи для каждого приложения различны. Это часто является проблемой.
-
Убедитесь, что URL-адрес обратного вызова установлен правильно в конфигурационном файле приложения (см. ниже). А затем добавьте это как один и тот же URL-адрес в настройках "Вход в Facebook", где говорится "Действительные URI-адреса перенаправления OAuth". Он должен выглядеть так (в зависимости от вашей среды):
http://localhost/auth/facebook/callback
http://staging.example.com/auth/facebook/callback
http://example.com/auth/facebook/callback
- Убедитесь, что ваш домен приложения настроен на правильный домен для каждой среды, включая "www" и "no-www". Facebook также требует, чтобы эти домены соответствовали URL вашего сайта или платформы приложений. Вам нужно будет выбрать "Добавить платформу", чтобы добавить это.
Ответ 12
В моем случае я включил учетную запись Facebook в учебнике по приложениям Rails. Я добавил http://localhost:3000/adsf в мои действительные URI перенаправления OAuth, но приложение Rails откроет URL как http://0.0.0.0:3000 и поэтому попытается перенаправить на http://0.0.0.0:3000/asdf. После добавления http://0.0.0.0:3000/asdf к допустимым URI перенаправления OAuth или перехода на http://localhost:3000/asdf, он работал, как ожидалось.
Ответ 13
В моем случае URI, как он был определен на FB, был в порядке, но я использовал Spring Security, и он добавлял ; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDD в мой URI, поэтому это вызывало несовпадение.
https://m.facebook.com/v2.5/dialog/oauth?client_id=your-fb-id-code&response_type=code&redirect_uri=https://localizator.org/auth/facebook;jsessionid=0B9A5E71DAA32A01A3CD351E6CA1FCDD&scope=email&state=b180578a-007b-48bc-bd81-4b08c6989e18
Чтобы избежать перезаписи URL, я добавил disable-url-rewriting = "true" в конфигурацию Spring Security следующим образом:
<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true"
disable-url-rewriting="true" entry-point-ref="authenticationEntryPoint"/>
И это исправило мою проблему.