Python 具有Django开放Id的QBO,回调匿名用户

Python 具有Django开放Id的QBO,回调匿名用户,python,django,oauth-2.0,openid-connect,quickbooks-online,Python,Django,Oauth 2.0,Openid Connect,Quickbooks Online,我已经将Django连接到QBO(QuickBooks Online),并且似乎在使用1个随机帐户时遇到了问题。我将Intuit oauth Python库与Django一起使用。对于这个特定的帐户,请求被发送到QBO、登录和连接。返回到我的应用程序时,将调用此回调。request似乎处于某种奇怪的状态,因为日志告诉我request.user是一个匿名用户。同样在我把它注释掉之前,在state\u-tok检查中,这实际上会失败。在Chrome浏览器上,会话似乎被随机清除,或者请求丢失 日志: 型

我已经将Django连接到QBO(QuickBooks Online),并且似乎在使用1个随机帐户时遇到了问题。我将Intuit oauth Python库与Django一起使用。对于这个特定的帐户,请求被发送到QBO、登录和连接。返回到我的应用程序时,将调用此回调。
request
似乎处于某种奇怪的状态,因为日志告诉我
request.user
是一个
匿名用户。同样在我把它注释掉之前,在
state\u-tok
检查中,这实际上会失败。在Chrome浏览器上,会话似乎被随机清除,或者请求丢失

日志:

型号:

from django.contrib.auth.models import User
...
class BusinessAccount(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
    ...
视图:

from django.contrib.auth.models import User
...
class BusinessAccount(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
    ...
def acccounting_callback(request):
    auth_client = AuthClient(
        settings.CLIENT_ID,
        settings.CLIENT_SECRET,
        settings.REDIRECT_URI,
        settings.ENVIRONMENT,
        state_token=request.session.get('state', None),
    )

    state_tok = request.GET.get('state', None)
    error = request.GET.get('error', None)

    print('callback')
    for key, value in request.session.items():
        if '_auth' not in key:
            print('{} => {}'.format(key, value))

    if error == 'access_denied':
        return redirect('business_account')

    if state_tok is None:
        return HttpResponseBadRequest()
    elif state_tok != auth_client.state_token:
        return HttpResponse('unauthorized', status=401)

    business_account = BusinessAccount.objects.get(user=request.user)
   
    ...