我正在使用twitter身份验证与django-social-auth进行一些讨论。
我可以登录。
但是,当我尝试使用django.contrib.auth.logout
注销时,它不会注销。
退出的方式是什么?
感谢。
答案 0 :(得分:9)
您是想尝试从Django应用程序注销还是想“忘记”Twitter访问?通常,存储twitter身份验证令牌以便在用户下次连接到Twitter时进行简化登录,因此用户不必再次“接受”访问权限。
如果您只想从Django auth系统注销,那么使用django.contrib.auth.views.logout
视图或创建自定义注销视图就足够了。
要完全取消链接/断开社交帐户,您需要在social-auth中使用断开连接功能。您可以使用以下模板标记获取断开网址:
{% url "socialauth_disconnect" "backend-name" %}
有关详细信息,请参阅http://django-social-auth.readthedocs.org/en/v0.7.22/configuration.html#linking-in-your-templates。
由于您已经允许您的应用访问OAuth提供商,因此身份验证提供商会记住该决定。通常有两种方法可以强制确认访问权限:
{'approval_prompt': 'force'}
添加到GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS
设置即可。答案 1 :(得分:5)
你有退出视图吗?您需要有一个注销视图。
示例:强>
from django.contrib.auth import logout
def logout_view(request):
logout(request)
# Redirect to a success page.
答案 2 :(得分:4)