X-Frame-Options拒绝Facebook SDK FB.GetLoginStatus加载(仅Firefox)

Dan*_*iel 5 javascript firefox facebook runtime-error facebook-javascript-sdk

我有这个Web应用程序登录页面,该页面在文档加载完成后从Facebook JavaScript SDK调用FB.GetLoginStatus()。这在所有浏览器(包括移动设备)上都运行良好,这是后来的幸福。

但是,有一天,我突然发现页面加载完成后,SDK无法获取Facebook用户的登录状态数据。我在控制台中看了一下,然后发现

X-Frame-Options [SDK生成的大量链接]拒绝的负载不允许成帧。

这就是困扰我的地方:这在Safari中非常有效。当我在Chrome上打开网络应用程序时,我被告知该错误(与上面引用的错误相同,措辞略有不同)。我在Firefox上尝试过,得到了同样的东西。我花了几个小时试图找到原因,但失败了,然后入睡了。

我第二天醒来,奇迹般地,它现在可以在Chrome(?)上运行,而无需进行任何更改(?!)。但是,由于某种原因,该错误现在仅在Firefox中仍然存在。

有人知道这可能是什么吗?Firefox和Safari和Chrome没有什么不同吗?

这里的一个提示是,我正在使用隧道服务(ngrok),但没有签名证书,因此很随意(您正在进入“不安全”网站,等等等等)。也许Firefox因为连接不安全而阻止了SDK?

任何对此的见识都将是奇妙的。谢谢

Dan*_*iel 8

好了,经过了几个小时的努力,我终于找到了困扰Firefox的地方:该应用程序Facebook Dashboard设置中的网站URL字段

问题甚至与ngrok或缺少签名证书无关,这是因为设置中的网站具有生产域(.app),而不是我当前用于开发的ngrok(eu.ngrok.io)。 )。

我设法将其准确地定位到仪表板设置的唯一原因是因为我有2个Facebook应用程序,而另一个应用程序运行良好,所以我认为这可能是导致问题的设置中的配置错误(Facebook糟糕解释/处理错误的标准-就像在黑暗中拍摄,直到在使用他们的SDK时碰到东西为止。

我在这里不明白的是,为什么配置错误的此设置似乎只能使Firefox出现问题,或者为什么Chrome从一天到一天都无处消失。无论如何,如果我设法帮助其他人修复了与此线程类似的问题,那是值得的。

和平了吗?