我正在制作一个手机应用程序,需要使用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"工作起来很有魅力。