我正在开发一个Rails 4应用程序。在我的笔记本电脑上,开发工作在localhost:3000
完成。该网站的实际域名为roomidex.com
。
如何设置Facebook应用程序,使其适用于生产和开发?
以下是当前配置:
App Domains: roomidex.com
Website With Facebook Login:
Site URL: http://www.roomidex.com
当我尝试在localhost:3000上进行Facebook登录时,我发现这并不奇怪:
{
"error": {
"message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
"type": "OAuthException",
"code": 191
}
}
答案 0 :(得分:59)
在Facebook App页面上,单击“编辑应用程序”,然后单击左侧导航中的“高级”。然后,对于“有效的OAuth重定向URI”,添加http://localhost:3000
...或者您想要接受的重定向的任何内容。
答案 1 :(得分:7)
您可以创建一个连接到主应用的测试应用。在主应用程序的仪表板或设置页面上。向下滚动,您将看到"测试应用"在页面左侧向下的菜单中。测试应用程序将继承主应用程序的设置,但它将永久处于开发模式,并且它将拥有自己的ID。
有关测试应用的更多信息: https://developers.facebook.com/docs/apps/test-apps/
设置应用于localhost的应用程序的协议已更改。在设置测试应用程序之后,这解释了将其设置为在localhost上运行的步骤:
答案 2 :(得分:4)
您的错误是
应用程序中不允许使用localhost URL
我知道,FB并没有给出解释,但在那些时刻做了什么,然而,就我而言,我找到了解决方法。
基本上,您需要在应用中将“locahost网址”列入“白名单”
以下是您的目标
roomidex.com
,因此请添加其他地址localhost
app integrates with Facebook
(Facebook登录网站,Facebook上的应用程序,移动网络,......)Website with facebook login
,将我的测试 localhost 网址放入{ {1}}或App on facebook
答案 3 :(得分:1)
2015年6月
转到我的应用>设置>基本
不幸的是,它没有使用端口80或没有任何端口。
答案 4 :(得分:0)
Adding localhost
to the Valid OAuth redirect URIs
in the test app did not work for me but adding 127.0.0.1
did.
答案 5 :(得分:0)
Facebook现在要求“有效的OAuth重定向URI”为https。
要在本地使用https(localhost:3000),我使用了[ngrok] [1],它允许您通过提供隧道来使用https。要做到这一点:
答案 6 :(得分:-1)
只需创建两个应用程序。
一个用于测试,一个用于发布。您无法为应用提供单独的网址配置。
答案 7 :(得分:-4)
只需使用指向localhost的域编辑您的hosts文件,它就可以正常工作。