У меня есть проект Django, который в конечном итоге будет состоять из трех приложений.Два из них будут «обычными» приложениями Django, третье - приложение djangorestframework
.Я также планирую создать настольный клиент для проекта в какой-то момент.
Я хочу, чтобы остальное приложение было единственным объектом, взаимодействующим с базой данных.Поэтому я использую requests
для связи с остальными конечными точками из представлений «обычных» приложений Django, и я сделаю то же самое для настольного клиента.
Я хочу, чтобы все приложения были доступны только для аутентифицированных пользователей, поэтому яЯ использую сервер аутентификации Django.
Мой вопрос заключается в том, как передать аутентифицированного пользователя / сеанс из чистых приложений Django остальным конечным точкам при использовании requests
в представлениях.
Iудалось аутентифицироваться на остальном API с помощью request
HTTPBasicAuth
, но для этого необходимо, чтобы у меня был пароль пользователя в виде простого текста.Конечно, я мог бы создать технического пользователя для выполнения этих запросов.Но это также означало бы, что каждый запрос сначала должен пройти проверку подлинности, и это не самый лучший подход.
Я попытался извлечь cookie сеанса из объекта request
, который являетсяпредоставил представлениям и передал его через requests.get
, но не сумел правильно ввести его в вызов requests.get
.
На данный момент использование запросов и установленных сеансов выглядит как мое лучшеепоспорим, тем более что настольный клиент тоже будет так делать.Поэтому в настоящее время я ищу правильный способ предоставления requests.get
cookie-файла сеанса, но я, безусловно, открыт для лучших решений.