Django,django-allauth和战网提供商

时间:2017-03-18 19:45:24

标签: django oauth-2.0 django-allauth

第一次尝试将oauth与python django和django-allauth一起使用。我似乎无法使登录发生。我可以达到要求您使用battlenet授权您的网站的程度,但是当您被重定向到回调网址时,我得到了这个:

{'code': 'unknown', 'provider': 'battlenet', 'exception': ProxyError(MaxRetryError("HTTPSConnectionPool(host='us.battle.net', port=443): Max retries exceeded with url: /oauth/token (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 403 Forbidden',)))",),)}

我已经在dev.battle.net中创建了我的应用程序,我已将客户端密钥和密钥放在我的django-allauth应用程序中,但此时我陷入困境。

任何人都有这方面的经验吗?

2 个答案:

答案 0 :(得分:1)

我设法回答了我自己的问题。

我现在正在使用pythonanywhere来托管这个,我正在使用免费服务。如果您是免费用户并且us.battle.net不在列表中,那么您可以点击白名单列表。我注册了一个月,几分钟后我的oauth电话工作正常。

如果其他人碰巧遇到我的情况,那么pythonanywhere可以点击免费帐户的网站列表。

https://www.pythonanywhere.com/whitelist/

答案 1 :(得分:0)

你在运行什么样的代理? Nginx + Gunicorn?它试图点击'/ oauth / token'而失败了。我刚刚在Battle.net上设置了一个allauth,但我没有看到这一点。

你的urls.py和settings.py是什么样的?

  • 您需要在设置文件中指定SITE_ID。
  • 确保您的反向代理正在处理https请求。