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 %}
这似乎可以解决问题。
我正在研究可能会成为一种信息亭应用程序的东西。我是 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 %}
这似乎可以解决问题。