如何使用django social-auth在开发环境中使用facebook登录?

时间:2012-11-27 02:33:33

标签: django facebook django-socialauth

我正在使用我的django网络应用程序使用social-auth。当我在生产环境中访问/ login / facebook时,用户可以使用他们的facebook数据登录。但是在我访问的开发环境中

http://localhost:8000/login/facebook/, 

我收到错误说

An error occurred. Please try again later.

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.

我相信这是因为域名是localhost:8000。我该如何解决这个问题,以便在开发环境中使用facebook登录?

2 个答案:

答案 0 :(得分:2)

我在阅读Heroku / Facebook文档时刚刚看到了答案。

为此,您必须创建第二个应用并将其链接到您的localhost,以便在本地进行测试。

您可以在此处找到有关它的更多信息:https://devcenter.heroku.com/articles/facebook#1-creating-a-development-facebook-app

答案 1 :(得分:2)

我找到的最简单的解决方案是修改主机文件以欺骗Facebook:

1 /编辑主机文件

  • 打开/ etc / hosts
  • 并在最后添加此行:127.0.0.1 dev.mydomain.com

2 /在Facebook开发者控制台(https://developers.facebook.com/apps/ *********)

  • 选择"测试应用" > "创建一个测试应用"
  • In"设置" > "具有基本" > 将域(dev.mydomain.com)添加到" App Domains"字段。

完成!

CF: https://groups.google.com/forum/#!topic/django-social-auth/gB1D8ikgUwM