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 にまだログインしているのは正常です。

logoutDjango からログアウトするには、モジュールで 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 に答える