我正在尝试在 Django 应用程序中将注销与 Python Social Auth 一起使用,但我得到了
NotAllowedToDisconnect at /disconnect/facebook/1/
这些是我的设置:
SOCIAL_AUTH_PIPELINE = (
'social.pipeline.social_auth.social_details',
'social.pipeline.social_auth.social_uid',
'social.pipeline.social_auth.auth_allowed',
'social.pipeline.social_auth.social_user',
'social.pipeline.user.get_username',
'social.pipeline.mail.mail_validation',
'social.pipeline.user.create_user',
'social.pipeline.social_auth.associate_user',
'social.pipeline.social_auth.load_extra_data',
'social.pipeline.user.user_details'
)
SOCIAL_AUTH_DISCONNECT_PIPELINE = (
'social.pipeline.disconnect.allowed_to_disconnect',
'social.pipeline.disconnect.get_entries',
'social.pipeline.disconnect.revoke_tokens',
'social.pipeline.disconnect.disconnect'
)
这是我在模板上使用的代码
{{ assoc.provider }} (<a href="{% url 'social:disconnect_individual' assoc.provider assoc.id %}" class="disconnect">Disconnect </a>)
提供单独的注销操作来分离注销和断开连接。
from django.contrib.auth import logout as auth_logout
def logout(request):
"""Logs out user"""
auth_logout(request)
return render_to_response('home.html', {}, RequestContext(request))
请参阅Django 示例应用程序一个完整的例子。
在你的断开管道中你有social.pipeline.disconnect.allowed_to_disconnect
。这将在当前登录方法断开连接后验证用户是否具有有效的登录方法。这是由处理允许断开连接.
允许用户断开连接并避免NotAllowedToDisconnect
去除social.pipeline.disconnect.allowed_to_disconnect
从你的SOCIAL_AUTH_DISCONNECT_PIPELINE
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)