使用本地主机时的Facebook应用程序域名


85

在这里的教程中:http :
//ankurm.com/blog/api/using-localhost-for-facebook-app-development/1091/

我试图为我的Facebook应用程序设置一个本地开发区。但是当我将“ http:// localhost:85 / my_app / ”作为域名时,Facebook说

应用程序域:“ http:// localhost:85 / app-name / ”不应包含协议信息。

另外,当我将“ localhost:85 / my_app /”作为域名时,也会收到错误消息:

应用程序域:localhost:85 / my_app /不是有效的域。


6
我不认为您要更新的是“应用程序域”,而是您要更新的是“站点URL”,位于:应用程序>编辑应用程序>设置>基本>具有Facebook登录名的网站。确保选中绿色并显示“站点URL”。您可以输入http:// localhost-无需指定端口,但是您最多可以指定协议。
路易斯·佩雷斯

1
无法让localhost在App Domain下工作。将高级设置|“有效的OAuth重定向URI”设置为localhost URL(http:// localhost:port#)。见github.com/tschellenbach/Django-facebook/issues/376

另请注意,应用程序域必须是localhost接受域的对象。我尝试使用mysite.local,但无法正常工作。改变Site URL to http://localhost:85/App Domains to http://localhost:85/再保存(FB修改应用程序域)为它工作。
詹姆斯·洛克

还有其他尝试:“在客户端oAuth设置下,使用“对重定向URI使用严格模式”要确保将其设置为“否”并按一下保存。” - wp-native-articles.com/blog/news/...
eflat

要求使用HTTPS进行Facebook登录。您仍然可以将HTTP与“ localhost”地址一起使用,但前提是您的应用仍处于开发模式。developers.facebook.com/blog/post/2018/06/08/...
yadavr

Answers:


58

我的解决方案:

  1. 将应用程序域留空
  2. (产品)Facebook登录>设置
  3. 添加http://localhost:85/my_app/Valid OAuth redirect URIs
  4. 保存更改

6
@Matt Long:我没有找到“有效的OAuth重定向URI”框是否已删除?
朱利安

@MattLong谢谢!我通过使用Supasates解决方案使其正常工作。
朱利安

1
为我工作!(2018年2月)
丹尼尔说莫妮卡(Monica

2020年10月18日,我收到警告:“仅在开发模式下,才自动允许localhost重定向,而无需在此处添加。”
Kick Buttowski

55

协议似乎已更改。

这是我的解决方案(我在2015年4月3日进行了测试,效果很好):

设置->基本标签中

  1. 应用程序域:本地主机
  2. 点击“ +添加平台”,然后选择“网站
  3. 站点URL: http:// localhost:<端口> /<端口>是您的端口号)
  4. 保存更改

3
不起作用,s32.postimg.org
4qazo1sl1

4
谢谢!这对我有用(2016年5月)。注意,127.0.0.1不起作用。
米拉德·M

为我工作2017
Alaksandar Jesus Gene 2015年

作品!2017
Pandarian Ld

44
  1. 将应用程序域留空
  2. 使用Facebook登录网站
  3. http://localhost:port_number/
  4. 保存更改,然后重试。欲了解更多信息,请访问

http://developers.facebook.com/docs/samples/canvas/ 快乐编码:-)



7
无法让localhost在App Domain下工作。将高级设置|“有效的OAuth重定向URI”设置为localhost URL(http:// localhost:port#)。参见github.com/tschellenbach/Django-facebook/issues/376

2
什么是“具有Facebook登录名的网站”?“应用程序域”旁边的选项?我没看到 在“高级设置|有效的OAuth重定向URI”中添加localhost条目对我
有用

做到了,仍然出现错误:“应用程序配置不允许使用URL”
Ram Rachum

1
工作正常。我只想评论说,这仅适用于“本地主机”,如答案中所示。我尝试使用127.0.0.1:8000,但无法正常工作
ePi272314 2016年

30

多年来,这种情况已经发生了变化,但是我只是将其与在本地主机上运行的Webapp配合使用。这是我所做的:

  1. 转到https://developers.facebook.com/apps
  2. 选择您的应用。
  3. 从左侧导航栏中选择设置>基本。
  4. 单击页面底部的“添加平台”按钮。
  5. 点击网站
  6. 输入http://localhost:8080/站点URL。
  7. 单击刚输入的网站URL最右侧的“快速启动”按钮。
  8. 将打开一个新标签。在该标签上,向下滚动到“向我们介绍您的网站”部分,然后再次输入http://localhost:8080/“网站URL”。
  9. 单击下一步按钮。
  10. 尝试再次登录,但这次有效。

祝好运!


2
有没有办法使用两个域?本地主机和用于生产的域:/
JCarlosR

无法正常工作:仍停留在该位置,URL被阻止:此重定向失败,因为该重定向URI未在应用程序的客户端OAuth设置中列入白名单。确保客户端和Web OAuth登录已打开,并将所有应用程序域添加为有效的OAuth重定向URI。
Nikunj Dhimar,

28

2018年工作解决方案

我花了很长时间才弄清楚这一点,所以我将分享我的解决方案。

我尝试了所有建议的答案,但对我没有任何帮助,最后我要做的就是去https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/并添加我的有效OAuth重定向URI框中的完整回调URL 。

以我为例,在轨道上使用ruby,我的网址看起来像这样http://localhost:3000/user/auth/facebook/callback

在我添加它之后,一切就开始起作用了!希望这可以帮助其他面临此问题的人。


谢谢!令人惊讶的是,您目前拥有完美可行的解决方案!干杯。
nakhodkin

是的,谢谢。这对我有用。我将localhost:5001添加到以下部分: 有效的OAuth重定向URI并启用了:嵌入式浏览器OAuth登录
David John Coleman II

这对我也有用。这是当前可行的解决方案。我为来自本地主机的Facebook登录创建了应用程序的测试版本。(直到Facebook再次更改!!)
Red3

3
谢谢!皮塔饼 添加完后,此通知弹出。3月,我们将对您的应用程序设置进行安全更新,以使来自下面未在“有效OAuth重定向URI”字段中列出的URI的调用无效。此更新是对我们在平台上看到的恶意活动的回应,我们希望对此进行保护您的应用程序或网站是否需要为重定向URI规定新的严格模式, Kinda似乎早就开始了?
dbinott

1
谢谢!我也花了很长时间(直到找到答案)。问题在于,您从FB收到的错误提示您应将域添加到“应用程序的域”中,这与实际问题无关。感谢您再次浪费我的时间FB :(
Arno van Oordt

11

这就是我过去所做的。

如果使用Windows,则需要修改主机文件。主机文件位置将位于%SystemRoot%\System32\drivers\etc\

像这样在主机文件中添加新行

127.0.0.1    localhost.YOUR-SITE-NAME.com

保存主机文件。

转到FB应用设置控制台,并localhost.YOUR-SITE-NAME.com在“应用域”字段中输入。保存更改。

现在,localhost.YOUR-SITE-NAME.com从浏览器中加载本地环境。

注意:用您的域名更改您的站点名称。


7

工作解决方案(2018年8月)

首先,在开发人员仪表板中选择您的应用。

然后确保您的应用程序处于开发模式,因为它允许HTTP上的localhost。为此,请点击应用页面右上方的切换按钮。

最后,请遵循以下注意事项,因为如果填写不正确,它们可能会引起麻烦:

  • Settings > Basic > App Domains 应该为空
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs 应该为空

它还在工作吗?如果将我的应用程序置于开发模式,则会出现白标错误。
sagar limbu

1
我有生产性应用程序的测试应用程序版本(始终处于开发模式),清除了所有字段,但仍然收到错误:OAuthException URI失配
Andreas Richter,

当您的应用处于开发模式时,您将无法测试任何要求您提交应用的端点
ricks

谢谢兄弟,是的,这很难最终解决
安东尼

5

您可以将其保留为空白localhost,也可以使用,http://localhost:85/my_app/作为URL


是的,我知道它的网址,但是在教程中完成了dats wot,他声称它可以工作...这就是为什么我尝试了它……我也尝试了localhost:85,但它在ddnt可以工作,但是当我只尝试了localhost才起作用...我想使用:85的原因是因为那是我的apache正在使用的端口...
Sanya Tobi 2012年

端口是协议信息,该字段不需要它。如消息所述:不应包含协议信息。
phwd 2012年

把它留空就可以了。另外,它不接受localhost域名。
shashwat

3

当我当时编写该教程时,应用程序域中允许使用端口。而且我实际上能够使用81端口(垃圾服务器)运行应用程序。现在看来,facebook不允许在url中使用端口。您可以localhost在应用程序域中使用。

我将尽快更新信息。我正在尝试找出解决方案。

临时解决方案是使用localtunnel http://progrium.com/localtunnel/


2

我对此进行了测试,并且对我有用[2020年2月]:

  1. 安装ngrok并获取您的https网址(例如:https ://a3asdf23.ngrok.io )
  2. 转到“应用程序域”下的“ FB App仪表板设置(基本)”->“添加” https://a3asdf23.ngrok.io,“” https://ngrok.io
  3. 在同一页面上,一直向下滚动,添加平台(网站),将URL设置为https://a3asdf23.ngrok.io。尚未完成,请点击“向我们介绍您的网站”下的快速入门->,输入相同的网址https://a3asdf23.ngrok.io
  4. 然后进入产品- > Facebook的登录- >设置- >客户端OAuth的设置- >有效的OAuth重定向的URI - >添加这些https://a3asdf23.ngrok.iohttps://ngrok.iohttps://a3asdf23.ngrok.io/{your-redirect-uri}

然后你去。稍后谢谢我:)



1

https://ngrok.com

通过https://ngrok.com/链接下载ngrok并解压缩该文件。打开cmd(搜索cmd)转到提取ngrok的目录。从命令行ex打开ngrok,例如:c:/ngrok/ngrok.exe [port]或cd c:/ ngrok然后ngrok 80(ngrok [port])

恩格罗克

Tunnel Status                 online
Version                       1.3/1.3
Forwarding                    http://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Forwarding                    https://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Web Interface                 http://127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

不要忘记确保您的Wamp服务器在同一端口上打开了……(如何检查-> goto-> wampicon-> apache-> httpd.conf搜索端口或80(默认值)将其用于ngrok.exe 80)

http://3ahsdfhska.ngrok.com

将是用于在线访问本地主机的URL


我想测试ngrok到我的servlet。我的servlet在特定路径上运行。举个例子:localhost:8080 / plugins / servlet如何指示ngrok在那里转发?
Jorge Valois 2014年

0

如果遇到协议错误,不仅需要删除Http://,而且在网址末尾有反斜杠,也必须将其删除,否则它将不起作用。我做到了,效果很好!哈啦!


0

将另外一种解决方案加入混合物:

我按照说明设置了网站,然后添加了第二个应用程序(Facebook Canvas)并将该URL设置为http://localhost:XXXXX。现在,我可以在本地和生产环境中访问FB。


0

我在本地开发,并使用以下URL: localhost/fb

然后,我必须添加一个具有以下URL的网站: http://localhost

在“应用程序域”下,我添加了localhost

现在可以了。我唯一遇到的问题是,您必须在所有脚本中使用此URL。例如

$loginUrl = $helper->getLoginUrl('http://localhost/fb/login-callback.php', $permissions);

您不能127.0.0.1在这里使用...


0

我尝试了这里提到的所有解决方案,但没有一个起作用。

解决我问题的方法是将“ OAuth重定向URI”从Firebase复制到Facebook应用“有效的OAuth重定向URI”

我将所有域留空

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.