2013-02-16 36 views
24

我正在开发一个使用Facebook登录的网站。现在,我希望能够在我的生产环境以及我的开发环境中实现这一目标。Facebook登录 - 如何在本地主机和生产环境中进行开发?

在Facebook上,我可以给一个网站的网址,Facebook能够重定向到。这在我的开发阶段非常有效,但现在我希望它既可以在生产环境中工作,也可以在开发我的解决方案时使用。

我想一个办法是用我的域名,navn运行我在本地IIS应用程序并更改我的hosts文件,但不能认真是最简单的解决方案!?

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

回答

22

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

enter image description here

此方法允许你仍然有生产网站的网址,同时允许从开发的OAuth,分期,生产等

+0

好:)我很确定这是新功能,但现在是最好的答案。 – 2015-05-28 02:54:02

+0

我在产品> Facebook登录>设置下找到了这些设置:有效的OAuth重定向URI。另外值得注意的是,我成功地指定了根URL而不是回调路线。 – 2017-01-04 01:07:07

+0

当从本地主机发出XHR请求时(三重选中的重定向URL):XMLHttpRequest无法加载https://www.facebook.com/v2.8/dialog/oauth?client_id=xxxx&redirect_uri=http://xxxx.com。从'https://www.facebook.com/v2.8/dialog/oauth?client_id=xxxx&redirect_uri=http://xxxx.com'重定向到'https://m.facebook.com/v2.8/dialog /oauth?redirect_uri=http%3A%2F%2Fxxxx.com&client_id=xxxx'已被CORS策略阻止:否请求的资源上存在'Access-Control-Allow-Origin'标头。原因'http:// localhost:8100'因此不允许访问。' – Jacksonkr 2017-03-22 17:25:39

3

我有同样的问题。

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

+2

伟大的想法,创建第二个应用程序,然后根据调试真/假打不同的应用程序 谢谢! :-) – 2013-02-21 08:07:11

0

this answer的建议是,如果设置的移动网址是你DEVELOPME它会工作nt域名(即。本地主机)和网站URL作为您的生产域。

3

后,我有这个工作了〜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"/> 

这当然是通过帮助类读取的。

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

+0

链接到你的帮手类代码? – jmontross 2013-12-07 23:50:14

相关问题