从Djang的外部OAUTH回调

2024-09-28 19:05:08 发布

您现在位置:Python中文网/ 问答频道 /正文

好的。安装信息-Django 1.8.3,Python 2.7.3,使用Goodreads 0.2.4api处理程序for Python(略微修改)。我已经到了Goodreads回调应用程序的时候了,但是clickjacker中间件发现它是一个错误并抛出了一个404。如果我禁用了clickjacker预防(我不希望这样做),我会得到一个“类型为'type'的参数不是iterable”的错误。你知道吗

相关代码:

from goodreads import client

grClient = client.GoodreadsClient(<key>,<other_key>)

def goodReadsOAUTH_stage1(request,user):
    try:
       return HttpResponseRedirect(grClient.authenticate()) 
       # function modified to return the URL rather than open a browser
    except keyError:
        return Http404

def goodReadsOAUTH_stage2(request):
    if request.method == "GET":
        if request.GET['authorize'] == 1:
            grRecord = goodreadsOAUTHKeys(request.user,request.GET['oauth_token']
            grRecord.save()
            grClient.session.oauth_finalize()
            return HttpResponseRedirect(reverse(request,'workroom:profile',kwargs={'user':request.user.username}))
        else:
            return Http404
    else:
        return Http404

两个的URLconf:

    url(r'^social/(?P<user>[-\w\d]+)/goodreads/OAUTH/$', views.goodReadsOAUTH_stage1, name='goodreads-oauth-one'),
    url(r'^social/goodreads/OAUTH/validation/$', views.goodReadsOAUTH_stage2, name='goodreads-oauth-two'),

以及随之而来的错误信息!你知道吗

type object 'Http404' has no attribute 'get'

Exception Location: /home/.../public/env/local/lib/python2.7/site-packages/django/middleware/clickjacking.py in process_response, line 31

点击劫持保护的那行代码:

 if response.get('X-Frame-Options', None) is not None:

在这里,我基本上不知道如何让回调正确运行。你知道吗


Tags: 代码getreturnifrequesttype错误oauth