对不起,我有一个问题。 我用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');
}
但是如何通过我的Web应用程序使用Python3和Django1.9注销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('/')
答案 0 :(得分:1)
我没有使用过python-social-auth,但从技术上讲,你不能。
当用户通过Outh2.0登录时,用户将被定向到社交网站的URL,用户登录该社交网站。之后,社交网站会调用您的一个URL或方法来告诉您该用户已通过身份验证。您的服务器或代码从不涉及此登录过程,因此您不能干扰它并注销用户。
答案 1 :(得分:1)
我认为您无法使用python注销用户。另见post
但您可以使用Javascript SDK轻松注销用户:
<a href="/logout" onclick="FB.logout();">Logout</a>