Django request.user为空

使用django,我通过Google验证用户身份。我得到了最初的请求令牌&将用户重定向到Google进行身份验证。之后谷歌将用户重定向回我的网站(使用我提供的redirect_url)。 此时
request.user.id
None
所以是
request.user.username
为什么会发生这种情况?我需要用户ID才能输入access_tokens(谷歌发送给我)到数据库中。 在什么条件下,Django中的
request.user
对象是空的? UPDATE1:当我从网址重定向回到我的django视图功能时,
http://mywebsite.com/lserv?s=goog
控件回到我的django视图功能,但django给了我作为匿名用户的
request.user
对象用户没有用户名或ID。为什么? UPDATE2: 所有这些现在都在
python manage.py runserver
上运行...... 更新3:任何人都面临类似的事情?基本上,没有理由
user
request
自动清除&我被指定为
Anonymous
用户。所有这些都发生在用户(来自浏览器)的url请求之间。为什么?     
已邀请:
Django的身份验证机制与谷歌或任何其他身份验证服务无关。如果您想将第三方授权服务与您的Django站点集成,您应该自己动手。 如果你正在使用oauth2(https://github.com/simplegeo/python-oauth2)库,它的README(https://github.com/simplegeo/python-oauth2/blob/master/README.md)有一个名为“使用Twitter登录Django”的部分可能会对您有所帮助。     
如果你使用谷歌的oauth api。要获得用户,您必须执行此类操作
from google.appengine.api import oauth

# ...
        try:
            # Get the db.User that represents the user on whose behalf the
            # consumer is making this request.
            user = oauth.get_current_user()

        except oauth.OAuthRequestError, e:
            # The request was not a valid OAuth request.
            # ...
    

要回复问题请先登录注册