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