簡體   English   中英

如何使用python-social-auth在Django APP上注銷Facebook本身?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM