【问题标题】:Error in Facebook Connect with Devise on RailsFacebook Connect 与 Devise on Rails 出错
【发布时间】:2014-08-27 19:42:47
【问题描述】:

我花了几个小时试图调试这个问题,虽然有几个答案,但我无法让它工作并且不明白一些事情。

我在 Heroku 上部署的 Rails 3 应用程序上使用 Devise 实现了 Facebook 登录。我在本地主机上运行良好,我也在生产中运行。我认为我没有更改任何内容,但我发现 Facebook 登录已损坏,无法弄清楚如何解决此问题。一些可能会敲响警钟的线索 -

我得到的错误显示在下面的 URL 以及许多其他帖子显示的错误消息。我觉得奇怪的是以下 -

  1. 解码redirect_uri下面的url有一个端口号http://www.mygreenneighbor.com:24745/auth/facebook/callback&scope=email,offline_access&

我认为 Heroku 上的应用程序没有在此端口 24745 上侦听(顺便说一句,当我在一段时间后尝试它时会发生变化)而且我之前没有注意到 - 这是预期的吗?

  1. 当我对 Facebook 应用程序进行更改并更改站点 url 时,更改不会显示在重定向 uri 中。 FB 更改是否需要时间才能生效?

https://graph.facebook.com/oauth/authorize?client_id=159903734070492&redirect_uri=http%3A%2F%2Fwww.mygreenneighbor.com%3A24745%2Fauth%2Ffacebook%2Fcallback&scope=email%2Coffline_access&response_type=code

{ “错误”: { "message": "无效的 redirect_uri:应用程序配置不允许给定 URL。", “类型”:“OAuthException”, “代码”:191 } }

感谢您的想法/指导。 -S

【问题讨论】:

    标签: facebook ruby-on-rails-3 heroku devise fbconnect


    【解决方案1】:

    经过大量的挖掘,我发现了这篇文章

    http://www.kbedell.com/2011/03/08/overriding-omniauth-callback-url-for-twitter-or-facebook-oath-processing/

    我意识到我已经从单线程/进程 WebRick 网络服务器切换到使用Passenger 作为我的网络服务器。乘客有多个进程在同一个测功机上运行,​​显然它会在请求中发送一个带有端口号的回调 url。为了覆盖我使用上述文章中的建议并在我的 applicaiton.rb 文件中设置以下内容

    OmniAuth.config.full_host = "http://www.mygreenneighbor.com" 解决了问题。

    希望这对某人有所帮助。

    -S

    【讨论】:

      猜你喜欢
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多