Ошибка JavaScript в Facebook. Вход через Chrome - небезопасная попытка JavaScript получить доступ к фрейму с URL.Домены, протоколы и порты должны совпадать - PullRequest
0 голосов
/ 14 января 2012

Я успешно запускаю facebook c # sdk в течение хорошего года и более, и он перестал работать в начале декабря. Это было связано с изменениями API в Facebook, и информационная ошибка сказала мне, что мне нужно было использовать некоторые новые параметры в моих вызовах (в частности, oAuth: true)

Я прочитал об изменениях и обновил SDK через nuget, который теперь работает на версии 5.4.1.0 Facebook.JavascriptMvcWebsite и FacebookWebMvc и других необходимых библиотек, которые составляют facebook c # sdk .

Теперь, когда я нажимаю кнопку входа в Facebook, я получаю другую ошибку ...

Небезопасная попытка JavaScript получить доступ к фрейму с URL https://www.facebook.com/login.php?api_key=251066398241630&skip_api_login=1&display=popup&cancel_url=https%3A%2F%2Fs-static.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%26error_reason%3Duser_denied%26error%3Daccess_denied%26error_description%3DThe%2Buser%2Bdenied%2Byour%2Brequest.%23cb%3Df3570617%26origin%3Dhttp%253A%252F%252Fgem.local%252Ffbb4f09e%26relation%3Dopener%26transport%3Dpostmessage%26frame%3Df1c822218c&fbconnect=1&next=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fpermissions.request%3F_path%3Dpermissions.request%26app_id%3D251066398241630%26redirect_uri%3Dhttps%253A%252F%252Fs-static.ak.fbcdn.net%252Fconnect%252Fxd_proxy.php%253Fversion%253D3%2523cb%253Df3570617%2526origin%253Dhttp%25253A%25252F%25252Fgem.local%25252Ffbb4f09e%2526relation%253Dopener%2526transport%253Dpostmessage%2526frame%253Df1c822218c%26sdk%3Djoey%26display%3Dpopup%26response_type%3Dtoken%252Csigned_request%26fbconnect%3D1%26from_login%3D1&rcount=1 из фрейма с URL http://gem.local/Account/LogOn. Домены, протоколы и порты должны совпадать.

Окно консоли в Chrome выдает примерно 5 таких ошибок в секунду, и все это происходит из диалога входа в Facebook.

Я попытался изменить файл fbChannel.ashx для упрощения, используя http: // вместо просто // (что соответствует текущему протоколу), а также сделал то же самое в FacebookInit.cshtml, но ничего из этого не имеет значения .

Я также изменил настройки своего приложения на Facebook, чтобы разрешить использовать устаревший код ... enter image description here

Что мне здесь не хватает? Я понимаю, почему браузер подходит для междоменного доступа, но с чем это связано? Facebook полностью перешел на https? Могу ли я использовать логины Facebook через http?

У меня есть тестовый сайт, где вы можете увидеть ошибку в действии

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 23 февраля 2012

Очистите поле домена приложения (оставьте это поле пустым) в приложении Facebook -> Основная информация

...