0

我正在使用 rest-auth,我想允许用户自己重新激活他们的帐户。

我设法允许非活动用户使用AllowAllUsersModelBackendin登录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."
}

我想允许他们使用此端点重新激活他们的帐户,但不允许他们使用任何其他需要身份验证的自定义端点。

4

0 回答 0