Секретный ключ API для доступа к инфраструктуре Django REST
Моя цель - ограничить доступ к API для клиентских приложений, указав API-ключ. Различные службы позволяют вам получить доступ к их API с помощью секретного ключа, который вы должны получить, чтобы выполнять запросы.
Примечание: это не связано с пользовательским auth.
Есть ли простое решение для этого в django rest framework? Или просто передать ключ в заголовок запроса, а затем вручную обработать его?
С уважением
Ответы
Ответ 1
Используйте класс TokenAuthentication
, как TokenAuthentication
здесь.
Вы также захотите установить соответствующие разрешения, возможно, используя класс IsAuthenticated.
Изменить: Извинения - повторное чтение, которое вы публикуете, похоже, что вы хотите использовать глобальный секретный ключ, а не для каждого пользователя. Я бы предложил специальный класс разрешений, который проверяет заголовок запроса и терпит неудачу, если он не отображается/не корректен.
Ответ 2
Для этой цели есть стороннее приложение, называемое django-rest-framework-api-key.