PythonDjango/w Microsoft图形-我不断得到值错误“;身份验证代码流中缺少状态;

PythonDjango/w Microsoft图形-我不断得到值错误“;身份验证代码流中缺少状态;,python,django,microsoft-graph-api,Python,Django,Microsoft Graph Api,Python Django/w Microsoft图形- 我遵循此Microsoft教程使用Microsoft Graph构建Django应用程序(在我现有的Django webapp上使用它),但我遇到了身份验证问题: 我正在执行“添加Azure AD身份验证”的步骤,在实施之后, 我点击“登录”按钮并输入凭据…我不断得到值错误“身份验证代码流中缺少状态” “callback”方法只是将其设置为result=get\u token\u from\u code(请求),然后失败 以下是从代码获取

Python Django/w Microsoft图形-

我遵循此Microsoft教程使用Microsoft Graph构建Django应用程序(在我现有的Django webapp上使用它),但我遇到了身份验证问题:

我正在执行“添加Azure AD身份验证”的步骤,在实施之后, 我点击“登录”按钮并输入凭据…我不断得到值错误“身份验证代码流中缺少状态”

“callback”方法只是将其设置为result=get\u token\u from\u code(请求),然后失败

以下是从代码获取令牌的方法:

def get_token_from_code(request):
  cache = load_cache(request)
  auth_app = get_msal_app(cache)

  # Get the flow saved in session
  flow = request.session.pop('auth_flow', {})

  result = auth_app.acquire_token_by_auth_code_flow(flow, request.GET)
  save_cache(request, cache)

  return result
我试图做的是最终从我的网络应用程序访问excel online


非常感谢您的帮助

我是一个初学者,所以我很确定我只是绕过了这个错误。但将网站URL替换为http://localhost:8000/# 然后重新运行它,以某种方式绕过了错误。也许这会有一些用处。

state
是oauth参数,可以让应用程序检测oauth请求伪造。查看它存储在
request.session
中的文档。您以前是否在流程中使用过
get\u sign\u
?您能否确认
request.session['token\u cache']
是否存在?如果您想了解代码中发生的情况,可以阅读RFC。我实现了与内部应用程序的MSAL集成并部署了它(遵循同一教程),现在偶尔会收到与此相同错误的回溯。不过,用户的身份验证没有问题。