我相信很多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服务器。
你们是怎么做到的?
谢谢,
每个人都说,“将example.com添加到您的主机文件......”但忽略了提到您应该在启动runserver后使用example.com:8000。以下是对我有用的更详细的步骤:
在linux上:
我知道这是一个较旧的帖子,但我无法在任何地方找到完整的步骤。如有必要,请添加说明,因为我不是这方面的专家。
我按照这里的步骤解决了重定向问题:https://serverfault.com/questions/397364/how-to-setup-named-virtual-hosts-in-nginx
简而言之,你需要在/ etc / hosts中有一个条目,就像我上面加上nginx代理之间的那样。
安装fiddler。安装后,转到工具>主机。
然后你可以从127.0.0.1:8000映射到mysite.com
以下最后为我修好了......
在授权的JavaScript起源下:http://localhost:8000
在授权重定向URI下:http://localhost:8000/page-name-here