Facebook дает предупреждение безопасности: пожалуйста, относитесь к URL выше, как вы бы свой пароль и не делитесь им ни с кем
я интегрировал Facebook с моим приложением для публикации контента. Он работал до версии 1.2 приложения, но теперь я получаю предупреждение системы безопасности сразу после входа, как показано ниже.
странная вещь об этом предупреждении безопасности заключается в том, что он работает для одной из моих учетных записей Facebook правильно без предупреждения, как и раньше, но я получаю это предупреждение с моей другой учетной записью. Я приложил скриншот проблемы:
3 ответов
отключение безопасного просмотра не стоит, так как мы не можем заставить всех пользователей отключить безопасный просмотр.
Я решил.Проверьте мой ответ здесь. Побег из Facebook предупреждение безопасности
после долгого времени проводят в Интернете для поиска этой проблемы. Наконец я получил ответ.
войти в аккаунт Facebook > перейти Настройки Конфиденциальности > нажать на кнопку бирка на левой стороне страницы > потом отключить безопасный просмотр
теперь сбросить симулятор, а затем запустить приложение и снова войти он будет работать наверняка
короткий ответ заключается в том, что проблема может быть решена, если вы используете свой собственный redirect_uri, а не стандартный facebook. Когда возвращается маркер доступа, стандарт www.facebook.com/connect/login_success.html страница имеет таймер, который изменит URL-адрес, возможно, прежде чем ваше приложение сможет получить маркер доступа.
эта проблема может возникнуть в связи с задержкой интернета. У нас было два клиента сообщают о проблемах с этим в Мьянме и один в Великобритании. Никаких проблем для других. Предполагая, что вы разрешаете так:
https://www.facebook.com/v2.10/dialog/oauth?client_id=999999999999999&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token&scope=user_photos,user_events&display=popup
для redirect_uri по умолчанию (https://www.facebook.com/connect/login_success.html), facebook возвращает access_token в параметрах URL, но тело html для этой страницы содержит два таймера:
Success <br/>
<b id="warning" style="display: none; color:red">
SECURITY WARNING: Please treat the URL above as you would your password and do not share it with anyone.
See the <a href="http://l.facebook.com/l.php?u=xxxxxxx" target="_blank" data-lynx-mode="hover">Facebook Help Center</a> for more information.
</b>
<script type="text/javascript">
document.domain = 'facebook.com';
if (window == top) {
setTimeout(function () { document.getElementById("warning").style.display = "block"; }, 2000);
}
setTimeout(function () { if (window.history.replaceState) { window.history.replaceState({}, "", "\/connect\/blank.html#_=_"); } }, 2000);
</script>
когда любой таймер срабатывает, он изменит URL, который удаляет access_token. Так что, если вы поймаете это до того, как это изменится, все будет работать. В нашем случае, мы использовали встроенный управление браузером под Windows и мониторинг перемещаемых ссылок. Пока код может получить событие навигации, содержащее access_token, прежде чем произойдет этот тайм-аут, все сработало. Мы никогда не могли определить, как задержка интернет-соединения и, возможно, какая-то комбинация медленного компьютера пользователя вызвала эту проблему, но это решило ее.
в настройках входа в Facebook для вашего приложения facebook добавьте свои собственные URI в список допустимых URI перенаправления OAuth. Если вы перенаправляете на свою собственную html-страницу, вы можете избежать тайм-аута facebook.