【发布时间】:2016-04-06 02:29:34
【问题描述】:
通过 Django-allauth 成功实现 Reddit 登录后,我正在尝试对 StackExchange 做同样的事情。
我为此关注了doc。
1) 在我的 Django 项目中:
我的设置:
...
SOCIALACCOUNT_PROVIDERS = \
{ 'stackexchange':
{ 'SITE': 'stackoverflow' } }
LOGIN_REDIRECT_URL = 'main_page'
我在我的一个模板中使用了链接:
href="{% provider_login_url 'stackexchange' %}"
2) 在https://stackapps.com/apps/oauth:
我已经像这样注册到 stackapps:
- 应用程序名称:MyApp 描述:MyApp OAuth
- 域:本地主机
- 申请网址:localhost
- 我取消选中:“启用客户端 OAuth 流程”和“禁用桌面应用程序 OAuth 重定向 Uri”。
3) 然后我输入http://localhost:8000/admin:
- 提供者:堆栈交换
- 名称:MyApp
- 客户端id:(stackapps给出的id)
- 秘钥:(stackapps给出的秘钥)
- 选择的网站:example.com
不过,我遇到了这个错误:
KeyError at /accounts/stackexchange/login/callback/
'items'
显然,/accounts/stackexchange/login/callback/ 不存在,因为如果我从错误中查看本地变量:
extra_data = resp.json()['items'][0]
...
▼ Local vars
Variable Value
resp <Response [400]>
【问题讨论】:
标签: django oauth django-allauth stackexchange-api