Я создаю простой API с Django 2.1.8 и обеспечиваю безопасность с помощью Django OAuth Toolkit .Я достиг точки, когда пользователь может использовать API только после авторизации, но я хочу ограничить его действия только своими данными.
Я создал авторизацию, используя oauth2, которая возвращает мне токен доступа ,
models.py
class Client(AbstractUser):
email = models.EmailField(
verbose_name='email adress',
max_length= 255,
unique=True,
)
location = models.CharField(max_length=500, default="")
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
objects = ClientManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['location']
def __str__(self):
return self.email
def has_perm(self, perm, obj=None):
"Does the user have a specific permission?"
# Simplest possible answer: Yes, always
return True
def has_module_perms(self, app_label):
"Does the user have permissions to view the app `app_label`?"
# Simplest possible answer: Yes, always
return True
@property
def is_staff(self):
"Is the user a member of staff?"
# Simplest possible answer: All admins are staff
return self.is_admin
views.py
class SingleClientView(generics.RetrieveAPIView):
queryset = Client.objects.all()
serializer_class = ClientSerializer
permission_classes = [IsAuthenticated, TokenHasReadWriteScope]
Есть ли возможность подключить возвращенный токен к пользовательской модели, поэтому каждый раз, когда кто-то будет использовать его, APIфильтр, если пользователь соответствует требуемым данным?Или oauth toolkit автоматически и как получить к нему доступ?