django-social-auth:如何将example.com重定向到127.0.0.1:8000?

时间:2012-06-10 15:54:23

标签: python django django-socialauth

我确信许多Django开发人员在使用social-auth时必须遇到这个问题。 最初,当您开发它时,您希望在本地服务器上测试它,因此您将在您的etc / hosts中重定向域名。

我在文档中提到了这一点:

https://github.com/omab/django-social-auth#facebook

  

如果您在Facebook设置页面中定义重定向网址,请务必不要   定义http://localhost:8000,因为它不会   测试时工作。相反,我定义http://myapp.com并设置一个   在/ etc / hosts上映射或使用dnsmasq。

据我了解,您无法在/ etc / hosts中定义任何端口。

因此在那里定义了这个条目:

127.0.0.1       example.com

仍然没有点击我的运行在127.0.0.1:8000的Django服务器。

你们是怎么做到的?

谢谢,

5 个答案:

答案 0 :(得分:4)

每个人都说,"将example.com添加到您的主机文件中......"但忽略了提到你应该在启动runserver后使用example.com:8000。以下是对我有用的更详细的步骤:

在linux上:

  • 打开终端
  • sudo gedit(或用所选的文本编辑器替换gedit)
  • 打开etc / hosts文件
  • 添加一行:127.0.0.1 example.com(如果您已有一行以127.0.0.1开头,则可以保留 - https://serverfault.com/questions/231844/is-it-safe-to-add-additional-127-0-0-1-entries-to-etc-hosts
  • 保存文件
  • 启动你的d​​jango dev服务器 - python manage.py runserver
  • 打开浏览器并转到example.com:8000(这会给google和其他无法使用127.0.0.1或localhost的网站提供正确的回调)
  • 您应该会看到django网站的主页。
  • 使用example.com作为网站名称,转到要连接的社交网站并设置您的客户端ID。例如,Google的回调网址为http://example.com:8000/complete/google-oauth2/
  • 复制相应的键/ ID设置并粘贴到您的SETTINGS.py
  • 现在你的开发服务器应该可以工作了!

我知道这是一篇较旧的帖子,但我无法在任何地方找到完整的步骤。如有必要,请添加说明,因为我不是此专家。

答案 1 :(得分:0)

我已按照此处的步骤解决了重定向问题:https://serverfault.com/questions/397364/how-to-setup-named-virtual-hosts-in-nginx

简而言之,你需要在/ etc / hosts中有一个条目,就像我上面加上nginx代理之间的那样。

答案 2 :(得分:0)

安装fiddler。安装后,转到工具>主机。

然后您可以从127.0.0.1:8000映射到mysite.com

答案 3 :(得分:0)

The following finally fixed it for me...

Under Authorized JavaScript origins: http://localhost:8000

Under Authorized redirect URIs: http://localhost:8000/page-name-here

答案 4 :(得分:0)

如果在 / etc / hosts 中添加 127.0.0.1 mysite.com 后,你们中的任何人仍在挣扎,请检查您是否正在使用VPN。我仍然收到错误“无法连接到mysite.com:8000” 。我通过关闭VPN解决了此错误。