[英]How can I logout facebook itself on Django APP with python-social-auth?
對不起,我有一個問題。 我用Django和python-social-auth編寫了Facebook Auth腳本。 我可以在Web APP上“注銷”。 例如,即使我打開具有“ @login_required”修飾符的頁面(視圖),也無法打開該頁面。 但是,我無法“注銷” facebook本身。 例如,當我單擊“使用Facebook登錄”時,無需登錄Facebook頁面就可以登錄Facebook,而當我訪問Facebook時,我的牆就會出現。
我找到了使用PHP的方法,
function logout() {
$this->session->sess_destroy();
$this->facebook->destroySession();
redirect('index/', 'location');
}
但是,如何使用Python3和Django1.9通過Web APP注銷Facebook?
謝謝。
views.py
from django.shortcuts import render
from django.shortcuts import redirect
from django.contrib.auth import logout as auth_logout
from django.contrib.auth.decorators import login_required
from django.template.context import RequestContext
def login(request):
context = RequestContext(request, {
'request': request, 'user': request.user})
return render(request, 'myapp/login/login.html' context_instance=context)
@login_required(login_url='/')
def home(request):
return render(request, 'myapp/login/home.html')
def logout(request):
auth_logout(request)
return redirect('/')
我沒有使用python-social-auth,但從技術上講您不能使用。
當用戶通過Outh2.0登錄時,用戶將被定向到社交網站的URL,即用戶在該URL上登錄。 之后,社交網站會調用您的URL或方法之一,以告訴您該用戶已通過身份驗證。 您的服務器或代碼永遠不會參與此登錄過程,因此您不會干擾它或注銷用戶。
我認為您無法使用python注銷用戶。 另請參閱這篇文章
但是您可以使用Javascript SDK輕松注銷用戶:
<a href="/logout" onclick="FB.logout();">Logout</a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.