- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我这辈子都无法显示我的 Facebook Canvas 应用程序。 Chrome 控制台显示此错误并且 iframe 中没有显示任何内容 - 它是空白的:
拒绝在框架中显示“http://mysite.dev/”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。
我正在使用 Rails 4.0.0.rc1 和 omniauth-facebook 1.4.1,遵循 Railscast on Facebook Authentication作为指南。我没有使用任何 Javascript 代码,因为它是可选的,理想情况下,应用程序只能在 Facebook 内访问。
routes.rb
match 'auth/:provider/callback', to: 'sessions#create', via: [:get, :post]
match 'auth/failure', to: redirect('/'), via: [:get, :post]
match 'signout', to: 'sessions#destroy', as: 'signout', via: [:get, :post]
sessions_controller.rb
class SessionsController < ApplicationController
def create
user = User.from_omniauth(env["omniauth.auth"])
session[:user_id] = user.id
redirect_to root_url
end
def destroy
session[:user_id] = nil
redirect_to root_url
end
application_controller.rb
我不得不对此发表评论,因为我不断收到 InvalidAuthenticityToken 错误,这让我浪费了半天时间。更多关于 here .
# protect_from_forgery with: :exception
Facebook 设置
myapp.dev
http://myapp.dev
在我开始翻 table 之前请帮忙。 :)
最佳答案
在 Rails 4 中,X-FRAME-OPTIONS 在 header 中设置为 SAMEORIGIN,我猜这会阻止它加载到框架中,如 this issue 中所述。 . 1人笔记the difficulty this will cause Facebook app developers .
我设法通过将以下内容添加到 application.rb
来解决这个问题:
config.action_dispatch.default_headers[:'X-Frame-Options'] = "ALLOW-FROM https://apps.facebook.com"
我也用过Forward创建一个域以允许 Facebook 访问我的本地开发机器。我在 Facebook 的 canvas
和 secure canvas
字段中输入了这个域。强烈推荐。
更多信息在这里:
关于ruby-on-rails - 修复 Rails oauth facebook x-frame-options 同源错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16573411/
我的 coinbase 支付按钮不会显示。我从 coinbase 收到此错误消息: 拒绝显示' https://coinbase.com/transactions ' 在框架中,因为它将 'X-Fra
我有一个 Web 应用程序,它作为托管在单个父窗口中的多个 iframe 运行(基本上是修改后的 GWT)http://en.wikipedia.org/wiki/Google_Web_Toolkit
CORS 表示: A web application executes a cross-origin HTTP request when it requests a resource that has
假设我有一个 CPU 密集型 iframe。 它与父页面在同一个域中,因此不适用跨域,因此它共享父页面的事件循环。 是否可以为 iframe 提供一个单独的 JS 上下文(包括一个单独的事件循环),这
我是一名优秀的程序员,十分优秀!