Facebook上的错误连接Devise on Rails

问题描述:

我花了几个小时试图调试这个问题,虽然有几个答案,我不能得到这个工作,并不明白一些事情。Facebook上的错误连接Devise on Rails

我在部署在Heroku上的我的Rails 3应用程序中使用Devise实现了Facebook登录。我在localhost上工作得很好,而且我也在生产中工作。我不认为我改变了什么,但我发现Facebook登录被破坏,无法弄清楚如何解决这个问题。一些线索可能会敲响一些 -

我得到的错误显示的网址是在下面,并显示许多其他帖子显示的错误消息。我感到奇怪的是以下 -

  1. 解码REDIRECT_URI以下链接有一个端口号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

{ “错误”:{ “消息”: “无效REDIRECT_URI:给定URL不是由应用程序配置允许的。”, “类型”: “OAuthException”, “代码“:191 } }

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

很多周围挖后,我穿过凸轮本文

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

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

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

希望这可以帮助别人。

-S