在python社交auth库中:
我正在为我的django项目做一个社交认证。我想为管理员禁用社交身份验证。 它默认如何工作:
Python Social Auth › User social auths
对象
我希望它如何运作:
Python Social Auth › User social auths
对象与新常规用户一起创建,就像管理员未登录一样有一种优雅的方式吗?尽可能覆盖最少量的管道功能。
答案 0 :(得分:0)
解决此问题的方法是直接禁止admin
用户使用社交身份验证过程,因为如果用户是管理员,您需要在管道中使用自定义函数AuthForbidden
。
此功能应在social_user
步骤之后,以确保已识别已关联的帐户。该函数的代码应该是简单的代码:
def disable_admin(backend, user=None, *args, **kwargs):
if user and user.is_admin:
raise AuthForbidden(backend)
有关扩展管道here的更多文档。