我正在使用 rest-auth,我想允许用户自己重新激活他们的帐户。
我设法允许非活动用户使用AllowAllUsersModelBackend
in登录settings.py
AUTHENTICATION_BACKENDS = [
"django.contrib.auth.backends.AllowAllUsersModelBackend",
]
然后我不允许 rest-auth 通过从以下行中删除这些行来检查错误消息的响应LoginSerializer
:
if not user.is_active:
msg = _('User account is disabled.')
raise exceptions.ValidationError(msg)
我还自定义了通过添加用户模型的字段UserDetailSerializer
来允许停用和激活。is_active
现在我可以使用停用的用户登录,它会向我发送一个 JWT,但是当我尝试使用/user/
端点时,它会响应该错误:
{
"detail": "User account is disabled."
}
我想允许他们使用此端点重新激活他们的帐户,但不允许他们使用任何其他需要身份验证的自定义端点。