Python Django Rest框架使用自定义模型进行自定义身份验证?

Python Django Rest框架使用自定义模型进行自定义身份验证?,python,django,authentication,django-rest-framework,Python,Django,Authentication,Django Rest Framework,设置非常简单:我想根据我创建的模型和字段来验证令牌,而不是用户。这里的概念是,将向组织而不是用户颁发令牌,因为用户不会直接使用此API,但我将按组织对/silo数据进行身份验证。综上所述,我正在努力解决这个问题,因为我认为为DRF提供的auth策略似乎依赖于正在创建的auth.user 下面是我想做的一个例子(基本上是从文档中摘取的): 在一个快速暴力测试中,这失败了,因为我的组织模型没有经过is_身份验证的属性,但我也不确定我是否可以做这些,因为我完全绕过了用户身份验证设置。我想我可以将每个组

设置非常简单:我想根据我创建的模型和字段来验证令牌,而不是用户。这里的概念是,将向组织而不是用户颁发令牌,因为用户不会直接使用此API,但我将按组织对/silo数据进行身份验证。综上所述,我正在努力解决这个问题,因为我认为为DRF提供的auth策略似乎依赖于正在创建的auth.user

下面是我想做的一个例子(基本上是从文档中摘取的):

在一个快速暴力测试中,这失败了,因为我的组织模型没有经过is_身份验证的属性,但我也不确定我是否可以做这些,因为我完全绕过了用户身份验证设置。我想我可以将每个组织注册为一个用户,然后使用令牌设置来完成所有这一切,但这似乎不仅破坏了用户模块,如果我们想在以后使用它,还显得很奇怪


DRF是否有针对非标准用户模块的令牌身份验证选项

我可能理解错了,但我认为要么组织就是用户,要么你需要向用户发放代币,否则用户的整个概念完全没有意义。我相信你最终是正确的,但这里有一些内部用户将使用Django admin进行后端工作,所以我希望避免将用户与组织相结合,但可能是这样的。谢谢
from api.models import Organization
from rest_framework import authentication
from rest_framework import exceptions

class OrgAuthentication(authentication.BaseAuthentication):
    def authenticate(self, request):
        token = request.META.get('AUTH_TOKEN')
        if not token:
            raise exceptions.AuthenticationFailed("Token missing")

        try:
            org = Organization.objects.get(auth_token=token)
            print(org)

        except Organization.DoesNotExist:
            raise exceptions.AuthenticationFailed("Token not found")

        return (org, None)