Я пытаюсь создать api с аутентификацией токена. Моя проблема заключается в том, что я не хочу, чтобы токены были связаны с учетными записями пользователей, а скорее с моделью учетной записи.Непользовательская база TokenAuthentication для django-rest-framework
Например:
class Account(models.Model):
slug = models.SlugField()
name = models.CharField(max_length=255)
website = models.URLField(blank=True, default='')
members = models.ManyToManyField(User, through='AccountMember')
class AccountMember(models.Model):
ADMIN = 1
MANAGER = 2
MEMBER = 3
ROLES = (
(ADMIN, 'administrator'),
(MANAGER, 'manager'),
(MEMBER, 'member'),
)
user = models.ForeignKey(User)
account = models.ForeignKey(Account)
role = models.PositiveSmallIntegerField(choices=ROLES)
date_joined = models.DateField(auto_now_add=True)
class Token(models.Model):
"""
The default authorization token model.
"""
key = models.CharField(max_length=40, primary_key=True)
account = models.ForeignKey(Account, related_name='auth_tokens')
only_allowed_ips = models.BooleanField(default=False)
ip_list = models.TextField(default='', blank=True)
created = models.DateTimeField(auto_now_add=True)
Как вы можете видеть, Есть несколько пользователей, связанных с учетной записью такого назначения фишки им было бы бесполезно.
Я также хочу, чтобы добавить несколько токенов в учетную запись.
Кто-нибудь знает, как я мог бы добавить аутентификацию/разрешения для такой системы?