2

第一次使用 Django-facebook。

  1. 出于某种原因,如果我使用 Facebook 登录,但后来退出我的 Facebook 帐户。我的应用程序使用默认的 Django 用户保持登录状态,会话令牌过期,因为“用户已注销”。如果我然后重新登录到 Facebook,Django 应用程序将保持“退出”Facebook。

  2. 在上述情况下,我尝试附加@facebook_required_lazy到我的视图函数的顶部,但没有效果。在这个用例中这个装饰器的预期行为是什么?该视图包含对 get_persistent_graph 的调用。

4

1 回答 1

1

您的 Django 登录会话完全独立于您的 Facebook 登录会话。Facebook 仅用于身份验证,即在登录时。但是登录会话是独立的,没有连接。因此,从 Facebook 注销根本不会影响您的 Django 会话。您仍然在 Django 上登录是正常的。

要从 Django 注销,您需要logout在 module 中使用 Django 框架的方法,django.contrib.auth例如使用这样的自定义注销方法:

from django.contrib.auth import logout as django_logout

def logout(request):
    django_logout(request)
    return some_other_view(request)
于 2013-07-06T12:18:27.713 回答