django-allauth socialaccount "full" 注销?

django-allauth socialaccount "full" logout?

我正在研究可能会成为一种信息亭应用程序的东西。我是 python 和 django 的新手,但它正在不断发展。我的 allauth 注册流程使用社交登录(目前 Google)或 "local" 电子邮件地址和密码。

如果我使用 Google 帐户登录然后注销,我将被重定向到登录页面,太棒了。问题是我还没有 真的 从 Google 帐户注销。如果我点击社交登录 link 然后我就回到了用户区,没有密码挑战。

allauth 是否有办法注销并删除社交身份验证令牌?我需要自己捕获注销信号和 find/delete 令牌吗?

好像有一个built-in solution。有一个 action 参数可以赋值 "reauthenticate"。作为新手,我不确定我是否以 python/django 方式添加了它,但我已经编辑了模板:

myProject/templates/allauth/socialaccount/snippets/provider_list.html

并将 action=reauthenticate" 添加到社交 auth href 行 a la:

{% load socialaccount %}

{% get_providers as socialaccount_providers %}

{% for provider in socialaccount_providers %}
{% if provider.id == "openid" %}
{% for brand in provider.get_brands %}
<li>
  <a title="{{brand.name}}" 
     class="socialaccount_provider {{provider.id}} {{brand.id}}" 
     href="{% provider_login_url provider.id openid=brand.openid_url process=process action='reauthenticate' %}"
     >{{brand.name}}</a>
</li>
{% endfor %}
{% endif %}
<li>
  <a title="{{provider.name}}" class="socialaccount_provider {{provider.id}}" 
     href="{% provider_login_url provider.id process=process scope=scope auth_params=auth_params %}">{{provider.name}}</a>
</li>
{% endfor %}

这似乎可以解决问题。