第一次使用Django-facebook。
出于某种原因,如果我使用 facebook 登录,但后来注销了我的 Facebook 帐户。我的应用程序使用默认的 Django 用户保持登录状态, session token 已过期,因为“用户已注销”。如果我随后重新登录 Facebook,Django 应用会保持“退出”Facebook。
在上面的例子中,我尝试将
@facebook_required_lazy附加到我的 View 函数的顶部,但没有效果。这个装饰器在这个用例中的预期行为是什么?该 View 包含对 get_persistent_graph 的调用。
请您参考如下方法:
您的 Django 登录 session 完全独立于您的 Facebook 登录 session 。 Facebook 仅用于身份验证,即在登录时进行身份验证。但是登录 session 是独立的,没有连接。因此,从 Facebook 注销根本不会影响您的 Django session 。您仍然登录 Django 是正常的。
要从 Django 注销,您需要使用 Django 框架的 logout 方法,在模块 django.contrib.auth 中,例如使用像这样的自定义注销方法:
from django.contrib.auth import logout as django_logout
def logout(request):
django_logout(request)
return some_other_view(request)
