我使用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注销并登录我的网站。我认为这就是为什么它对我有益
答案 0 :(得分:1)
这是因为Facebook不希望用户在其他网站的iframe中输入身份验证数据。这是出于安全目的。为避免这种情况,您可以尝试添加到您的链接:
:target => "_top"
答案 1 :(得分:0)
我在facebook画布上出现此错误,为了阻止这种情况,我必须删除所有的loginurl参数,我使用php sdk。
$loginUrl = $facebook->getLoginUrl();
当我尝试添加范围时,redirect_uri失败并显示问题中的错误。我检查了范围上的所有匹配到应用程序设置仍然没有喜悦,不能应用任何参数。但是,如果没有参数我的应用程序可以进行身份验证。