4

我用 Ruby on Rails 建立了一个网站,并想使用 facebook 登录。使用Ominauth-Facebook gem,我可以在我的电脑上登录。但是当几个朋友测试它时,他们都在Chrome中得到了错误(类似于Safari说“拒绝显示文档,因为X-Frame-Options禁止显示”): 在此处输入图像描述

这很奇怪,因为它在我的每个设备(台式机、iphone 和笔记本电脑)的所有浏览器中都能正常工作。在我的 Rails 配置中,我已经设置了

config.action_dispatch.default_headers[:'X-Frame-Options'] = "ALLOW-FROM https://www.facebook.com"

我可能错过了什么?谢谢!

更新:如果我的朋友以某种方式成功登录一次,错误将不会再次出现。即使他从 FB 注销并登录我的网站。我认为这就是为什么它对我有好处

4

2 回答 2

1

发生这种情况是因为 Facebook 不希望用户在另一个站点的 iframe 中输入他们的身份验证数据。这样做是出于安全目的。为避免这种情况,您可以尝试添加到您的链接:

:target => "_top"

于 2013-06-21T12:33:58.500 回答
0

我在 facebook 画布上收到此错误,为了阻止这种情况发生,我必须删除所有 loginurl 参数,我使用的是 php sdk。

$loginUrl = $facebook->getLoginUrl();

当我尝试添加范围时,redirect_uri 失败并出现问题中的错误。我检查了范围内的所有内容都与应用程序设置匹配,但仍然没有乐趣,无法应用任何参数。但是,如果没有这些参数,我的应用程序就可以进行身份​​验证。

于 2013-08-30T20:11:29.053 回答