Вход и время жизни сессии: хранилище ключей, heartbeat, офлайн-отсрочка
Настольное приложение Senzoukria разблокируется email и паролем веб-аккаунта. Токен сессии живёт 15 минут и продлевается heartbeat каждые 5 минут; после 30 минут без успешного продления приложение выходит из системы.
Senzoukria · Документация · Обновлено: сентябрь 2026
Где найти
- Где
- Меню Sz → «Аккаунт»; каждый защищённый маршрут перенаправляет туда, когда сессии нет
- Учётные данные
- «Сохранить мои учётные данные (хранилище ключей ОС)» отмечено по умолчанию; пароль уходит в системное хранилище учётных данных, никогда в файл
- Токен
- Время жизни 15 минут, heartbeat каждые 5 минут, повтор каждые 60 с, выход после 30 минут без продления
Как это работает
Форма входа запрашивает email и пароль и показывает примечание: «Приложение заблокировано до входа в систему. Используйте email и пароль вашего веб-аккаунта Senzoukria — вход на сайте не разблокирует настольное приложение.» При самом первом запуске, до появления какой-либо сессии, карточка приветствия предлагает «Зарегистрироваться на сайте» и «У меня уже есть аккаунт».
Когда учётные данные сохранены, форма заполняется из хранилища ключей и один раз отправляется автоматически при первом монтировании процесса. После выхода форма снова заполняется, но ждёт нажатия, поэтому автовход не отменяет ваш выход. Неудачный автовход сохраняет учётные данные: один сбой сети не должен стирать запомненный логин.
Жизненный цикл сессии
| Правило | Значение | Действие |
|---|---|---|
| Время жизни токена | 15 минут | Серверный JWT истекает; продление — задача heartbeat |
| Интервал heartbeat | 5 минут | Продлевает токен и заново проверяет лицензию, подписку и машину |
| Повтор после временного сбоя | 60 секунд | Сетевые ошибки, 429 или 503 повторяются; счётчик отсрочки они не сбрасывают |
| Максимум без продления | 30 минут | Сверх этого приложение выходит из системы локально |
| Окончательный отказ | HTTP 4xx, кроме 408, 425, 429 | Немедленный выход; повторный вход по паролю не выполняется, поэтому отозванная машина не создаётся заново |
| Пробуждение | Фокус окна, событие online, видимая вкладка | Запускает назревший heartbeat, не добавляя запросов, когда сессия свежая |
| Кнопка обновления | Страница аккаунта | Выполняет один heartbeat вручную: «Продлить токен сессии через heartbeat» |
Как этим пользоваться
Введите email и пароль веб-аккаунта и оставьте флажок включённым, если это ваша машина. Ссылка «Забыли пароль? Регистрировались через Google?» открывает сайт: у аккаунта Google нет пароля, пока он там не задан, и приложение не умеет входить через Google напрямую.
Выход со страницы аккаунта завершает сессию, но сохраняет запись в хранилище ключей; снимите флажок при следующем входе, чтобы её очистить. Строка обратной связи сообщает: «Вы вышли из системы — войдите ниже, чтобы восстановить доступ.»
Ограничения и подводные камни
Сообщения об ошибках и их смысл:
- «Неверный email или пароль.» — INVALID_CREDENTIALS от сервера.
- «Этот аккаунт входит через Google. Воспользуйтесь ссылкой «Забыли пароль?» ниже, чтобы задать пароль, затем войдите здесь.»
- «Для использования настольного приложения нужна подписка PRO.» и «Срок вашей подписки истёк.» — лицензия проверяется при входе и при каждом heartbeat.
- «Эта лицензия уже используется на максимальном числе машин.» — освободите слот на странице устройств сайта.
- «Аккаунт временно заблокирован. Повторите через несколько минут.» — после серии неудачных попыток.
- Сетевая ошибка не делает пароль недействительным; сообщение прямо говорит не сбрасывать его.
- Если запись в хранилище ключей не удалась, приложение всё равно выполняет вход и показывает настоящую ошибку вместо того, чтобы делать вид, что данные сохранены.
Связанные страницы
Эта страница на других языках
Частые вопросы
- Почему меня выкинуло после работы офлайн?
- Сессии нужен один успешный heartbeat каждые 30 минут. Без сети дольше этого срока приложение выходит из системы локально; войдите снова, когда сеть появится.
- Хранит ли приложение мой пароль в файле?
- Нет. При включённом «Сохранить мои учётные данные» пароль уходит в хранилище ключей ОС (Credential Manager, Keychain или Secret Service). Токенами сессии занимается сторона Rust.
- Я вошёл на senzoukria.com. Почему настольное приложение всё ещё заблокировано?
- Сессия сайта и сессия приложения разделены. Используйте тот же email и пароль в форме входа приложения.