Django中url回调时无法访问request.session变量

Django中url回调时无法访问request.session变量,django,django-views,spotify,django-request,Django,Django Views,Spotify,Django Request,我正在尝试将Spotify授权流(以获得访问和刷新令牌)集成到我的Django应用程序中。为此,我设置了两个Django端点——一个用于spotify登录,另一个用于spotify回调 登录端点重定向到spotify授权端点,该端点要求用户登录到其spotify帐户并授予权限 接下来是SpotifyAPI重定向到我的Django应用程序中的回调视图。除了重定向,API还发送一个get变量,回调视图进一步利用该变量来获取访问权和刷新令牌 我需要为我网站的每个用户存储这些令牌,为此我需要获得对用

我正在尝试将Spotify授权流(以获得访问和刷新令牌)集成到我的Django应用程序中。为此,我设置了两个Django端点——一个用于spotify登录,另一个用于spotify回调

  • 登录端点重定向到spotify授权端点,该端点要求用户登录到其spotify帐户并授予权限

  • 接下来是SpotifyAPI重定向到我的Django应用程序中的回调视图。除了重定向,API还发送一个get变量,回调视图进一步利用该变量来获取访问权和刷新令牌


我需要为我网站的每个用户存储这些令牌,为此我需要获得对用户id的访问权限。但是,request.session变量在回调视图中始终为空。访问request.session变量的建议?

在这类API中,回调视图和重定向视图是有区别的。您确定您的回调视图是由用户的浏览器调用的,而不是由Spotify直接调用的API回调吗?您没有解释如何设置您首先尝试访问的会话变量。回调视图由Spotify API直接调用。基本上,我们必须在第一步中提供指向API的重定向链接。抱歉,我正试图访问request.user.id或request.session[“\u auth\u user\u id”]。我假设两者都返回相同的值,那么就没有会话了,因为浏览器没有调用它。
请求
对象将有一个
匿名用户
且没有会话。spotify的API调用应该包含一些唯一标识符,允许您将其映射到以前的请求(在
request.GET
request.POST
中,具体取决于它是GET还是POST),为什么请求对象不包含当前登录用户的信息?根据文档,请求对象是由Django基于http请求准备的,然后,请求对象被传递给相关的查看函数。但是这个特定的请求不是由用户发出的。它是由Spotify的服务器制作的。