python - 我将 python 社交身份验证与 django 结合使用。我无法断开与 Steam 的连接

标签 python django steam python-social-auth

我的模板:

{{ backends.associated }}
{{ backends.not_associated }}
{{ backends.backends }}
{{ status_page }}
{% if page_status == 'login' %}
    {% for soc in backends.backends %}
        <form action="{% url 'social:disconnect' soc %}" method="post">
            {% csrf_token %}
            <button type="submit">Disconnect</button>
        </form>
    {% endfor %}
{% endif %}
{% if page_status == 'start' %}
    <p>Стартовая страница</p>
    {% for soc in backends.backends %}
        <a href="{% url 'social:begin' soc %}">{{ soc }}</a>
    {% endfor %}
{% endif %}

我可以登录 Steam。但我无法断开连接。我尝试了一切。 错误:

NotAllowedToDisconnect at /disconnect/steam/

No exception message supplied

Request Method:     POST
Request URL:    https://sheltered-sea-35879.herokuapp.com/disconnect /steam/
Django Version:     1.9.7
Exception Type:     NotAllowedToDisconnect
Exception Location:     /app/.heroku/python/lib/python3.5/site-packages     /social/pipeline/disconnect.py in allowed_to_disconnect, line 7
Python Executable:  /app/.heroku/python/bin/python
Python Version:     3.5.2

出现此错误后我必须从 steam 注销。我在文档中找不到信息。

最佳答案

您的代码所做的只是取消您的 Steam 帐户与本地 django 用户的关联,而不是断开与 Steam 的连接。 如果你真的想断开与 steam 的连接,则没有必要,当你执行 Social:begin 链接时发生的只是 steam 提供的 token 与你的本地 django 用户关联,该 token 将在你下次登录时使用Django 网站。您[当前未连接到 Steam。

仅当 django 用户之后仍可登录时(即它具有为用户定义的密码或仍与另一个社交媒体帐户关联),PSA 才会允许您解除社交帐户的关联

关于python - 我将 python 社交身份验证与 django 结合使用。我无法断开与 Steam 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38416577/

相关文章:

python - 如何关联一对值并在给定第一个值的情况下查找第二个值?

Python Selenium Firefox 脚本在重新启动驱动程序实例后崩溃

php - 使用python获取存储在mysql表中的文本文件

Python subprocess() 等到一系列命令中的最后一个命令完成

python - 如何为以下情况定义查询过滤器?

python - 使用 PyJWT 的 Jwt 解码引发签名验证失败

javascript - 使用nodejs通过steam登录登录网站

data-science - 关于 Valve 的 Steam Web API 的一些问题 - 获取 Dota 2 比赛历史

javascript - 将 JavaScript date() 转换为 Python Django models.DateTimeField

javascript - 将 64 位 Steam ID 转换为 32 位帐户 ID