Аутентификация доступа к Django Rest Framework с помощью пользовательской аутентификации из приложения Django - PullRequest
0 голосов
/ 03 июня 2019

Я реализовал собственную систему аутентификации в одном (только) приложении Django в моем проекте Теперь я хочу открыть свой сайт до доступа Api, есть ли способ, чтобы только пользователи из приложения Django имели доступ к этому API. Поскольку я не хочу повторяться (СУХОЙ), поэтому спрашивал, можно ли работать задом наперед, а не перезаписывать аутентификацию отдыха Django очень похожим кодом

1 Ответ

0 голосов
/ 03 июня 2019

DRF SessionAuthentication включено в настройки DRF по умолчанию и полностью прозрачно для пользователей, которые уже знакомы с входом на ваш сайт. Вы можете добавить его в список аутентификаторов для DRF:

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        # ...
        'rest_framework.authentication.SessionAuthentication',
    )
}

Сеанс, который пользователь устанавливает при входе на ваш сайт, теперь также проверяет их подлинность для API-интерфейса DRF и любых вызовов API.

Подробнее: https://www.django -rest-framework.org / api-guide / authentication / # sessionauthentication


Если вместо этого вы спросите, как сделать что-то вроде выдачи Ключи API , DRF TokenAuthentication может сделать это за вас. Вам просто нужно добавить на сайт представление, позволяющее пользователям получать сгенерированные токены.

Дополнительная информация: https://www.django -rest-framework.org / api-guide / authentication / # tokenauthentication

...