我成功让 django_openid_auth 在我的 django 项目中工作,现在可以使用我的 Google 帐户登录。我不知道如何注销。标准django.contrib.auth.views.logout
视图将注销用户,但随后访问需要身份验证的页面将再次对用户进行身份验证,而不会出现提示。如何完全注销用户?
问问题
475 次
1 回答
1
OpenId 的目的之一是简化登录过程。你正在经历的行为是绝对正确的。首次使用 Google 帐户登录应用程序时,您允许 OpenId 提供商 (Google) 向您的应用程序发送数据。由于数据仍在数据库中,因此无需再次提示您允许访问。
不过,如果您想再次收到提示,您应该手动清除数据库中的数据。您可以通过创建自定义注销视图或使用 Signal 基础结构并添加以下内容来做到这一点:
from django.contrib.auth.signals import user_logged_out
@receiver(user_logged_out)
def clear_openid_data(sender, user,**kwargs):
# wipe out data according to models in django_openid_auth..
到信号.py
值得一提的是user_logged_out从 Django 1.3 开始可用
于 2011-05-15T11:39:23.607 回答