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

问题描述 投票:7回答:4

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

我在文档中提到了这个:

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

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

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

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

127.0.0.1       example.com

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

你们是怎么做到的?

谢谢,

python django django-socialauth
4个回答
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(这给谷歌和其他不适用于127.0.0.1或localhost的网站提供了正确的回调)
  • 你应该看到django网站的主页。
  • 转到要连接的社交网站并设置您的客户端ID,使用example.com作为网站名称。例如,谷歌的回调网址是http://example.com:8000/complete/google-oauth2/
  • 复制相应的键/ ID设置并粘贴到您的SETTINGS.py中
  • 现在您的开发服务器应该工作!

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


0
投票

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

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


0
投票

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

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


0
投票

以下最后为我修好了......

在授权的JavaScript起源下:http://localhost:8000

在授权重定向URI下:http://localhost:8000/page-name-here

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