【问题标题】:How to display facebook permission dialog for Ruby on Rails app?如何显示 Ruby on Rails 应用程序的 Facebook 权限对话框?
【发布时间】:2013-03-17 18:56:39
【问题描述】:

我正在将 Ruby on Rails 与 koala gem 和 heroku 主机一起使用。当用户访问 myapp.heroku.com 并在其上进行身份验证时,一切正常。但是,如果他们访问apps.facebook.com/myapp,没有人可以看到权限对话框。我了解到这是因为 facebook 拒绝在其 iframe 中调用 facebook url。不过,他们可以在网站上授权后使用该应用程序。所以我的问题是如何在 facebook 画布内进行身份验证或请求权限?即显示权限对话框。

【问题讨论】:

  • 我对这个问题不是很清楚 - 这是关于 facebook 登录信息的信息 -developers.facebook.com/docs/concepts/login/login-architecture - 你到底想做什么?
  • 如果他们访问apps.facebook/myapp,他们会得到一个空白页面,因为facebook 权限对话框没有出现。但如果他们访问 myapp.heroku.com,他们会看到对话框并接受继续使用该应用程序。同样在从那里授权后,他们现在可以在 apps.facebook.com/myapp 上使用该应用程序。
  • 是的,这就是我知道它已被安全阻止的方式。但在阅读解决方案后,我仍然不清楚如何解决这个问题。我没有任何锚标记来插入“_blank”,也不确定将 JS 代码放在我的 Rails 应用程序中的哪个位置。这就是我提出这个问题的原因。

标签: ruby facebook-graph-api rubygems


【解决方案1】:

我想我需要使用 myapp.herokuapp.com 而不是 myapp.heroku.com 作为我的 SITE_URL 和画布 url 才能在 Facebook 中工作。我还使用 Facebook JS SDK 登录更改了登录流程。问题解决了。

【讨论】:

    【解决方案2】:

    我也有同样的问题。但是,我不是在 Heroku 上托管,所以我很好奇 myapp.herokuapp.com 与 myapp.heroku.com 的行为方式有何不同。 问题是omniauth-fecebook 强制重定向以显示权限框,而Canvas 不允许重定向,因此它保持空白。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多