Вход в Facebook не работает в Гонконге, но работает на меня - PullRequest
0 голосов
/ 27 июня 2018

У меня есть приложение Meteor, которое позволяет пользователям регистрироваться через Facebook oauth через пакет accounts-facebook meteor. Я установил все необходимые пакеты и пользовательский интерфейс и развернул приложение на Heroku (бесплатный план) с базой данных mLab (песочница). Я настроил приложение facebook и аутентификацию, и логин у меня работает нормально. Я зарегистрировался в приложении через мой Facebook несколько раз успешно.

Однако, когда один из моих коллег-разработчиков, который живет в Гонконге (я в Индии), попытался сделать то же самое, приложение не зарегистрировало его, и всплывающий браузер напечатал эту ошибку в консоли после того, как дал разрешение получить доступ к его общедоступному профилю -

DOMException: Blocked a frame with origin "https://myapp.herokuapp.com" from accessing cross-origin frame.

Эта ошибка, по-видимому, исходит от end_of_popup_response.js:18 в пакете oauth.

Есть ли какая-либо конкретная причина, по которой можно исправить эту ошибку?

Ответы [ 2 ]

0 голосов
/ 10 июля 2018

есть политика в JavaScript с именем Same-origin. и в соответствии с этой политикой, если вы хотите получить доступ к фрейму, протокол, имя хоста и порт должны совпадать с вашим доменом.

прочитайте это для некоторых примеров: SecurityError: заблокирован фрейм с источником из-за доступа к фрейму перекрестного происхождения

0 голосов
/ 09 июля 2018

Когда вы создаете учетную запись на консоли разработчика Facebook (https://developers.facebook.com/),), вам нужно было зарегистрировать свой домен, чтобы ваше приложение для проверки подлинности Facebook позволяло запрашивать перекрестные источники. Вы, вероятно, сделали это и зарегистрировали свой локальный хост, но забыли вернуться и зарегистрировать свой домен heroku после развертывания.

Это выглядит так

А потом внизу страницы вы должны увидеть что-то вроде этого

And then at the bottom of the page you should see something like this

...