# Сессия живёт семь суток и не продлевает саму себя - **Дата:** 2026-08-12 - **Источник:** [../../openspec/changes/archive/2026-08-12-oidc-login/design.md](../../openspec/changes/archive/2026-08-12-oidc-login/design.md), раздел «Что изменило ревью кода», плюс отчёт триажа [../../openspec/changes/archive/2026-08-12-oidc-login/review/report.md](../../openspec/changes/archive/2026-08-12-oidc-login/review/report.md), пункт 6 ## Решение Срок жизни сессии — **семь суток**, назначается при каждом подъёме сервиса. Продление сессии **выключено**: адрес, которым хранилище меняет предъявленное значение на новое, закрыт слоем приложения. ## Почему Умолчание хранилища — пять суток и продлеваемая сессия. Второе делает первое бессмысленным, и это выяснило ревью кода замером: предъявитель одного живого значения продлевает себе доступ бессрочно, никуда не входя. Значение имеет то, на чём держится вся остановка перерасхода. Паспорт опирается на **отзыв доступа в Authelia** как на способ остановить того, кто тратит слишком много. Но сервис после входа к провайдеру не обращается: подпись сессии считается от значений в базе, и отзыв у провайдера до сервиса доходит **только** истечением срока. При живом продлении не доходит никогда — человек, которому закрыли доступ, сохраняет его навсегда. Отвергнуто и названо ценой: > сверяться с провайдером по расписанию — новая связь с Authelia и обработка её > недоступности, работа шире задачи; принять как есть — тогда паспорт теряет > способ остановить того, кто тратит слишком много. Число семь суток выбрано владельцем как компромисс: реже входить против дольше ждать, пока отзыв доедет. Срок назначается **при подъёме, а не шагом схемы**, и это отдельное решение с причиной: применённый шаг не переписывается, поэтому число, положенное туда, разошлось бы со сроком жизни куки при первой же правке — браузер получил бы новый срок, а хранилище продолжило выдавать прежний. ## Последствия - `+` отзыв доступа у провайдера доходит до сервиса гарантированно, максимум за семь суток; без этого он не доходил вовсе. - `+` срок жизни сессии стал числом, которое кто-то выбрал, и правится он в одном месте вместе со сроком куки. - `−` человек перевходит раз в неделю, и это заметно: своей страницы у сервиса нет, так что вход начинается с перехода по адресу входа руками. - `−` семь суток — всё ещё окно, в которое отозванный доступ работает. Немедленно закрыть чужую сессию можно только руками в панели, обновив ключ токенов записи; своего адреса у этого нет. - `−` закрытие продления сделано слоем приложения, а не настройкой коллекции: библиотека выдаёт сессию продлеваемой всегда, и отключить это в ней нечем. Слой придётся помнить при всякой правке маршрутов.