#django-rest-framework #django-authentication #django-sessions #http-token-authentication
#django-rest-framework #django-аутентификация #django-сеансы #http-token-аутентификация
Вопрос:
Я использую аутентификацию на основе токенов (через dj-rest-auth 1.1.2) в моем проекте Django REST-Framework (DRF v. 3.12.1). После первоначального входа в систему на основе представления сервер выдает токен, который клиент должен включать в заголовок HTTP-аутентификации при каждом запросе.
Что я хотел бы сделать, так это связать аутентификацию токена с сеансом на стороне сервера, аналогично тому, что предоставляет платформа Django Session Framework. То есть я хотел бы создать кэшируемый объект сеанса, который хранит информацию, такую как роли пользователей, которые в противном случае необходимо было бы извлекать из БД при каждом запросе.
Похоже, что для этой проблемы нет готового решения, не так ли? Насколько я понимаю, фреймворк Django Session работает только с сеансовыми файлами cookie, но не с другими токенами. С другой стороны, аутентификация на основе токенов, похоже, не создает сеанс на стороне сервера.
Мои вопросы:
- Это правильно, или я просто пропускаю какую-то конфигурацию или неправильно читаю документацию?
- Если да, есть ли что-то изначально неправильное в моем предполагаемом подходе (что объясняет, почему я не могу найти библиотеку, которая уже это делает)?
- Опять же, если да, каким будет каноническое решение для обработки сложных ролей пользователей по каждому запросу? Просто сохраните их в БД и позвольте надлежащему кэшированию позаботиться об этом?
Спасибо за вашу помощь!
Комментарии:
1. Вы решили? Если да, то как
2. к сожалению, нет