Секретный ключ API для доступа к инфраструктуре Django REST

Моя цель - ограничить доступ к API для клиентских приложений, указав API-ключ. Различные службы позволяют вам получить доступ к их API с помощью секретного ключа, который вы должны получить, чтобы выполнять запросы.

Примечание: это не связано с пользовательским auth.

Есть ли простое решение для этого в django rest framework? Или просто передать ключ в заголовок запроса, а затем вручную обработать его?

С уважением

Ответ 1

Используйте класс TokenAuthentication, как TokenAuthentication здесь.

Вы также захотите установить соответствующие разрешения, возможно, используя класс IsAuthenticated.

Изменить: Извинения - повторное чтение, которое вы публикуете, похоже, что вы хотите использовать глобальный секретный ключ, а не для каждого пользователя. Я бы предложил специальный класс разрешений, который проверяет заголовок запроса и терпит неудачу, если он не отображается/не корректен.