Как отключить "Использовать строгий режим для URI перенаправления" в приложении Facebook

Есть ли способ отключить опцию Use Strict Mode for Redirect URIs в приложении Facebook? Похоже, что по состоянию на март 2018 года это свойство автоматически включено и неактивно, поэтому его нельзя отключить. Кажется, Facebook запрещает аутентификацию, если только точный URL не указан в Valid OAuth Redirect URIs, Это проблема, потому что модуль Sitecore Social Connected, по-видимому, каждый раз, когда вы входите в систему, передает другой параметр состояния в строке запроса. Я проверил, используя Redirect URI Validator в приложении Facebook, и это подтверждает, что перенаправление должно быть точно в соответствии с Valid OAuth Redirect URIs,

1 ответ

Решение

Есть ли способ отключить опцию Use Strict Mode for Redirect URIs в приложении Facebook?

НЕТ

Из-за изменений безопасности, внесенных в Facebook, отключить этот параметр больше невозможно.


Что касается специфики Sitecore и модуля Social Connected, я обнаружил в комментариях @CBroe, что Valid OAuth Redirect URIs теперь должен содержать параметр строки запроса следующим образом:

http://example.com/layouts/Social/Connector/SocialLogin.ashx?type=access

ранее я только что

http://example.com/layouts/Social/Connector/SocialLogin.ashx

Если вы используете HTTPS, вам нужно будет также ввести URI с номером порта, т.е.

https://example.com:443/layouts/Social/Connector/SocialLogin.ashx?type=access

Этот последний момент не связан с последними изменениями в приложении Facebook.

Тот же опыт, я не мог его выключить. Что в итоге сработало для меня

У меня есть ссылка на моем сайте, которая запускает процесс входа в систему:

https://www.example.com/users/auth/facebook

После этого мое приложение rails перенаправляется на

https://www.facebook.com/v2.6/dialog/oauth?client_id=1234&redirect_uri=https%3A%2F%2Fwww.example.com%2Fusers%2Fauth%2Ffacebook%2Fcallback&response_type=code&scope=email&state=123456

Facebook отвечает

https://www.example.com/users/auth/facebook/callback?code=abcverylongcodexyz

Для этого URI, который должен быть внесен в белый список, просто " https://www.example.com/users/auth/facebook/callback", без части кода.

FWIW, когда я переместил свой сайт с http на https, мне нужно было обновить мой config / initializers / devise.rb, чтобы включить

config.omniauth :facebook, '1234', '34567', :scope => 'email', :callback_url => 'https://www.example.com/users/auth/facebook/callback'

поскольку он все еще использовал протокол http: в URL-адресе обратного вызова, и вы не можете добавить в этот список какой-либо URI в этом протоколе в соответствии с текущими рекомендациями.

Другие вопросы по тегам