Как отключить "Использовать строгий режим для 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 в этом протоколе в соответствии с текущими рекомендациями.