通过路由器在手机上进行Facebook认证(RubyonRails-OmniAuth)



我正在制作一个手机应用程序,需要使用Twitter和Facebook身份验证。

我正在开发的电脑和手机(三星Galaxy S2)连接到一个路由器上。

我的电脑IP为10.4.1.6。对于Twitter身份验证,我只需输入callback_url"http://10.4.1.6:3000",一切都很好,但对于Facebook身份验证,我们得到了:

"Invalid redirect_uri: Given URL is not allowed by the Application configuration."

我想,如果我不能输入路由器的IP,那么我可以在手机和电脑上编辑主机文件,指向我的Rails服务器,但仍然没有运气。

当我尝试输入"http://rails_dev_work_pc.com:3000"时,Facebook会告诉我URL无效。如何修复此错误?

编辑:
我试着输入这个:

  • domain=>"localhost.com"
  • callback_url=>"http://localhost.com:3000/auth/facebook/callback"
  • 在pc hosts=>"127.0.0.1.1 localhost.com"中
  • 在电话主机中=>"10.4.1.6 localhost.com

但我的手机和电脑都出现了同样的错误。

还有:

  • domain=>"localhost"
  • callback_url=>"http://localhost:3000/auth/facebook/callback"
  • 在我的电脑主机=>"127.0.0.1.1 localhost"
  • 在电话主机中=>"10.4.1.6 localhost

在电脑上运行良好,但在我的手机上我收到了无效的URL错误。

我没主意了。。

我使用这个设置:

在hosts文件中,将localhost路由到localhost.com(或您喜欢的任何路径)。现在你应该能够使用以下的facebook应用程序配置:

App Domain(s): localhost.com
Website for facebook login: http://localhost.com:3000/
Canvas-URL (optional): http://localhost.com:3000/<yourfacebookendpoint>

请让我知道这是否也适用于你。此外,我发现有两个facebook应用程序非常有用——一个用于生产(指向生产应用程序的URL),另一个仅用于测试(指向HOSTS文件中配置的URL)。这样,您就可以在不中断生产应用程序的情况下进行测试。

编辑

以下是@ExEdzy发布的最终解决方案,作为对此答案的编辑:

我刚刚在主机文件中将"localhostlocalhos.com"更改为"iplocalhost.com"

在我的手机中,ip是我的电脑的ip(10.4.1.6)。在我的电脑主机文件中,ip为"127.0.0.1"

在脸书上:-应用程序域:=>"http://localhost.com:3000"-网站URL:=>"http://localhost.com:3000/auth/facebook/callback"工作起来很有魅力。

最新更新