Я не понимаю, как использовать стороннюю библиотеку django djangorestframework-api-key
Я пытаюсь настроить аутентификацию, которая требует, чтобы пользователь отправил API-ключ и секрет в заголовке запроса, прежде чем он сможет создать данные. Я использую djangorestframework-api-key, найденный здесь: https://florimondmanca.github.io/djangorestframework-api-key/guide/. Однако я не могу понять, как правильно его использовать. Мой models.py выглядит примерно так:
class UserTier(Base):
key = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
api_key = models.CharField(max_length=1000, null=True, blank=True)
tiers = models.ManyToManyField(Tier)
start_date = models.DateTimeField()
end_date = models.DateTimeField()
def save(self, *args, **kwargs):
api_key, self.api_key = APIKey.objects.create_key(name=self.user.key)
super(UserTier, self).save(*args, **kwargs)
Вот пример представления конечной точки API, который я сделал:
class MLBTeams(ListAPIView):
serializer_class = MLBTeamSerializer
queryset = Team.objects.all()
permission_classes = [HasAPIKey]
Я выполнил это, чтобы получить ключ API, и передал его через заголовок в postman:
print(APIKey.objects.get_from_key('V9Js7vY7.s1xiK0pWtzbp1ZQA3e2NrT95qhUk1kRV')) #key stored in the UserTier object
Однако я все еще получаю следующую ошибку:
{
"detail": "Authentication credentials were not provided."
}
Кто-нибудь знает, как правильно использовать эту библиотеку?