Ich arbeite ein wenig mit django-social-auth und verwende Twitter-Authentifizierung.
Ich kann mich anmelden.
Aber wenn ich versuche, mich mit django.contrib.auth.logout
abzumelden, loggt es sich nicht aus.
Wie kann ich mich abmelden?
Danke.
Versuchen Sie, sich nur aus der Django App auszuloggen oder möchten Sie den Twitter-Zugang "vergessen"? Normalerweise wird das Twitter-Authentifizierungs-Token für eine vereinfachte Anmeldung gespeichert, wenn ein Benutzer das nächste Mal eine Verbindung zu Twitter herstellen möchte, so dass der Benutzer den Zugriff nicht erneut "akzeptieren" muss.
Wenn Sie sich nur vom Django-Authentifizierungssystem abmelden möchten, sollte es ausreichen, die django.contrib.auth.views.logout
-Ansicht zu verwenden oder eine benutzerdefinierte Abmeldesicht zu erstellen.
Um die Verbindung zu einem sozialen Konto vollständig aufzuheben, müssen Sie die Funktionen zum Trennen der Verbindung in social-auth verwenden. Sie können die Verbindungs-URL mithilfe des folgenden Schablonentags abrufen:
%Vor%Weitere Informationen finden Sie in Ссылка .
Da Sie Ihrer App bereits Zugriff auf den OAuth-Anbieter gewährt haben, speichert der Auth-Provider diese Entscheidung. Es gibt normalerweise zwei Möglichkeiten, um eine Bestätigung dieser Zugriffsberechtigung zu erzwingen:
{'approval_prompt': 'force'}
zur Einstellung GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS
hinzufügen. Haben Sie eine Abmeldesicht? Sie müssen eine Abmeldesicht haben.
Beispiel:
%Vor%Diese Antwort ist veraltet, da django-social-auth jetzt python-social-auth
Siehe neuere Stack Overflow-Antwort hier .
Lesen Sie die Dokumentation hier
Tags und Links django django-socialauth