32

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

在 Facebook 上,我可以提供一个网站网址,Facebook 可以重定向到该网址。这在我的开发阶段效果很好,但现在我希望它既能在生产中工作,又能在开发我的解决方案时工作。

我想一种方法是使用我的域导航在本地 IIS 上运行我的应用程序并更改我的主机文件,但这并不是最简单的解决方案!?

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

4

6 回答 6

29

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


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

在此处输入图像描述

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

于 2015-05-24T17:43:28.327 回答
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"/>

这当然是通过助手类阅读的。

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

于 2013-09-07T22:36:14.567 回答
3

我也有同样的问题。

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

于 2013-02-19T12:24:01.720 回答
3

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

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

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

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

于 2019-04-07T11:30:30.900 回答
0

按照此答案中的建议,如果将移动 URL 设置为您的开发域(即本地主机)并将站点 URL 设置为您的生产域,它将起作用。

于 2013-08-08T03:26:37.977 回答
0

更新的方式。

在应用仪表板中,选择您的应用并转到产品 > Facebook 登录 > 设置。在客户端 OAuth 设置下,在有效 OAuth 重定向 URI 字段中输入您的重定向 URL 以成功授权。

访问https://developers.facebook.com/docs/facebook-login/web了解更多信息。

于 2018-05-19T13:40:42.957 回答