Задача
Есть небольшой проект на FastAPI, в котором реализована авторизация пользователя с помощью стороннего модуля для работы с токенами. Возникла проблема: при закрытии браузера и повторном входе на сайт пользователь теряет сессиию или не может автоматически авторизоваться. Требуется доработать логику работы токенов, чтобы сохранить устойчивую аутентификацию между сессиями (даже после закрытия вкладки или всего браузера).
Требования
- Необходимо настроить модуль для корректного сохранения и восстановления сессии (Refresh / Long-lived token либо постоянный remember_token).
- Учесть, что браузер не должен принудительно разлогинивать пользователя, если истек только короткоживущий токен доступа.
- Реализовать механизм автообновления токена или соответствующие cookie/cache на стороне клиента.
- Сохранить текущую архитектуру без смены модуля аутентификации.
- Протестировать работу: пользователь после захода на сайт, закрытия всех вкладок, повторного открытия автоматически остаётся залогиненным.
Детали
В текущей реализации используется библиотека для аутентификации на базе токенов. Проблема возникает из-за истечения срока действия основного токена при сохранении сессии в localStorage или cookies. Необходимо переписать либо обновить middleware, добавив поддержку «запомнить меня» или refresh-ротацию.
Важно: не менять окружение pip и не добавлять новых тяжеловесных зависимостей - все должно работать с версией текущего проекта (отправлю файлы после старта). Также нужно скрыть все реальные названия сервисов из кода или конфигов (username, secret key, API endpoints).