Facebook登录 - 如何在localhost和生产中进行开发?

问题描述 投票:27回答:6

我正在开发一个使用Facebook登录的网站。现在,我希望能够在我的生产环境以及开发环境中使用它。

在Facebook上,我可以提供一个网站网址,Facebook可以重定向到。这在我的开发阶段很有效,但现在我希望它既可以用于生产,也可以用于开发我的解决方案。

我想有一种方法是使用我的domain-navn在本地IIS上运行我的应用程序并更改我的主机文件,但这不是最容易解决的问题!?

- 在两种环境中使其工作的最简单方法是什么?

facebook security iis deployment
6个回答
27
投票

更新:截至2018年,此设置的路径现在是产品> Facebook登录>设置>客户端OAuth设置此答案的其余部分仍然有效。


有一个更好的办法。您只需将本地主机的有效回调URL添加到“设置”>“高级”>“OAuth设置”。

此方法允许您仍然拥有生产网站URL,同时允许来自开发,登台,生产等的oauth。


4
投票

在我使用了大约6个月之后,我找到了一个基于其他两个答案的解决方案。

在Facebook我添加了两个应用程序:

  • 制作应用
  • 开发应用

然后,在我的web.config应用程序设置中,我有:

<!--Prod-->
<add key="_FacebookApiId" value="id"/>
<add key="_FacebookApiSecretId" value="secret_id"/>
<!--Dev-->
<add key="FacebookApiId" value="dev_id"/>
<add key="FacebookApiSecretId" value="dev_secret_id"/>

当然,这是通过帮助类来阅读的。

然后它在生产和本地主机上无缝地工作,我和我的团队都很高兴。


3
投票

我也有同样的问题。

我发现的唯一解决方案是:


0
投票

根据this answer中的建议,如果将移动URL设置为您的开发域(即localhost)并将站点URL设置为您的生产域,则可以使用它。


0
投票

更新的方式。

在App Dashboard中,选择您的应用程序,然后转到产品> Facebook登录>设置。在“客户端OAuth设置”下,在“有效OAuth重定向URI”字段中输入重定向URL,以便成功进行授权。

有关更多信息,请访问https://developers.facebook.com/docs/facebook-login/web


0
投票

当您的应用处于开发模式时,Facebook仅允许localhost OAuth重定向。这意味着您无法在生产环境中运行应用程序并执行本地开发测试。

相反,您需要创建应用的测试变体。前往https://developers.facebook.com并查看生产应用程序的仪表板。单击左上角的下拉菜单,然后选择Create Test App。

这将使用与生产应用程序几乎相同的设置填充测试应用程序。但是,它会为您提供新的应用程序ID和应用程序密钥,因此您需要在开发模式下运行时切换这些设置(如其他答案所示)。

以下是有关测试应用程序的更多信息:https://developers.facebook.com/docs/apps/test-apps/

© www.soinside.com 2019 - 2024. All rights reserved.