使用 django,我通过 Google 对用户进行身份验证。我得到了初始请求令牌并将用户重定向到谷歌进行身份验证。之后,谷歌将用户重定向回我的网站(使用我提供的 redirect_url)。
在这一点上request.user.id
就是None
这样,request.user.username
为什么会发生这种情况?我需要用户 ID 才能将 access_tokens(谷歌发送给我的)输入数据库。
Django中的对象在什么情况下可以request.user
为空?
UPDATE1:当我使用 url 模式从 Google 重定向回来时,http://mywebsite.com/lserv?s=goog
控件返回到我的 django 视图函数,但是 django 将request.user
对象用户作为没有用户名或 ID 的匿名用户提供给我。为什么?
UPDATE2:
所有这一切现在都在运行python manage.py runserver
......
UPDATE3:有人遇到过类似的情况吗?基本上,无缘无故user
地request
自动清除并且我被分配为Anonymous
用户。所有这些都发生在来自用户(来自浏览器)的 url 请求之间。为什么?