我正在制作手机应用程序,我需要使用Twitter和Facebook身份验证。
我正在开发的我的电脑和手机(三星Galaxy S2)连接到一台路由器。
我的PC 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,那么我可以在手机和PC上编辑我的主机文件以指向我的Rails服务器,但仍然没有运气。
当我尝试输入"http://rails_dev_work_pc.com:3000"
时,Facebook告诉我该网址无效。我该如何解决这个错误?
编辑:
我试着输入这个:
但是我的手机和电脑上出现了同样的错误。
此外:
在PC上工作正常,但在我的手机上我收到了无效的网址错误。
我没有想法..
答案 0 :(得分:0)
我正在使用此设置:
在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>
如果这对您有用,请告诉我。此外,我发现有2个facebook应用程序非常有用 - 一个用于生产(指向您的生产应用程序URL),另一个用于测试(指向您在HOSTS文件中配置的URL)。这样,您可以在不中断生产应用程序的情况下进行测试。
这是@ExEdzy发布的最终解决方案,作为此答案的编辑:
我刚将主机文件中的“localhost localhos.com”更改为“ip localhost.com”
在我的手机中,ip是我的电脑的IP(10.4.1.6)。在我的电脑主机文件中,ip是“127.0.0.1”
在Facebook中: - App Domains:=&gt; “http://localhost.com:3000” - 网站网址:=&gt; “http://localhost.com:3000/auth/facebook/callback” 工作就像一个魅力。