
Разбор · Опубликовали 08.10.2026
Авторизация в мобильном приложении требует проверки смены телефона, выхода и отзыва сессии
Матрица приёмки для CTO: прежний аккаунт на новом устройстве, серверный отзыв, локальные данные и восстановление входа.
Текст собран инженером, который ведёт vibecoding.ru, вместе с машиной агентов · факты проверены 8 октября 2026
Авторизация в мобильном приложении готова, когда клиент на новом телефоне возвращается в свой аккаунт, а отозванная сессия на старом больше не даёт доступа.
Принимать эту работу стоит на двух устройствах: ниже матрица смены телефона, выхода и отзыва, которую можно включить в задачу ИИ-агенту и повторять после обновлений.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Успешный вход ещё не доказывает, что сессия закрывается.
Что именно покупает компания, когда заказывает авторизацию? Способ входа подтверждает пользователя, а сессия позволяет ему продолжать работу без повторного кода. У этих частей разные условия приёмки.
OWASP выделяет доступ к данным после завершения сессии в отдельную мобильную слабость. В проверку входят серверный доступ, токены и сохранённые данные на устройстве. Одной кнопки «Выйти» для этого недостаточно.
Собственный пример у нас вебовый: ученики vibecoding.ru входят по ссылке из письма. Инженер ведёт машину агентов, её работу видно в открытой истории разработки. Своего клиентского кейса мобильных сессий у нас нет.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Выход и локальные данные | OWASP MASWE-0024: данные должны стать недоступны после завершения сессии. Матрицы статьи составлены редакцией, это не готовые тесты OWASP. | 2026-10-08 |
| Отзыв и продление | RFC 7009 и RFC 9700, официальные тексты IETF. Отзыв токена продления не гарантирует немедленного отказа уже выданного доступа во всех реализациях. | 2026-10-08 |
| Пример реализации | Firebase Manage User Sessions: отзыв токенов продления и проверка отзыва ID token на защищённом запросе являются отдельными действиями. | 2026-10-08 |
| Наш опыт | Веб-вход учеников по почте, PR #2186 от 08.09.2026; записи о правах и письмах доступа сверены по оригиналам. Клиентского мобильного кейса нет, испытания мобильного клиента не проводились. | 2026-10-08 |
| Цена подписки | Живая /services: «Один проект», один поток работы, 250 000 ₽ в месяц. Это цена подписки, не стоимость одной авторизации. | 2026-10-08 |
Смена аппарата и смена номера телефона требуют разных проверок. В первом случае клиент получает новую сессию в прежнем аккаунте. Во втором нужно подтвердить право изменить средство входа, не потеряв историю и покупки.
Доступ к чужому заказу нужно проверять отдельно от входа. Пользователь может быть залогинен, но не иметь права читать этот заказ. Такая проверка выполняется на сервере, даже если приложение не показывает кнопку.
Все примеры ниже являются сценариями приёмки. Они задают ожидаемое поведение продукта, а не описывают результаты проведённого нами мобильного испытания.
Разные события требуют разных проверок.
Редакционная матрица по OWASP MASWE-0024 и RFC 7009 · 08.10.2026.
2. Новый телефон должен вернуть клиента в прежний аккаунт.
Сценарий смены телефона начинается с существующего аккаунта. На новом аппарате клиент проходит вход и видит прежние заказы. Пустой профиль с тем же номером означает, что проверка не пройдена.
Старый аппарат не обязан терять доступ при каждом новом входе. Сервис может разрешать несколько устройств, CTO выбирает это правило до разработки. Но команда должна показать, как клиент отзывает доступ потерянного или проданного аппарата.
Восстановление без старого номера нельзя сводить к отправке SMS на него же. Для этого пути заранее определяют подтверждение владельца и работу поддержки. Подрядчик не должен молча создавать новый аккаунт вместо восстановления старого.
Смена устройства не должна терять историю клиента.
Условия приёмки редакции; серверная проверка и повторное подтверждение по OWASP · 08.10.2026. Это план испытания, не готовый результат.
3. Выход должен закрыть серверный доступ и локальные данные.
Выход не проверяют по появлению формы входа. На испытании сохраняют тестовую сессию, выходят и повторяют защищённый запрос с прежними данными доступа. Сервер должен отказать в пределах принятого правила завершения сессии.
Локальные данные проверяют отдельно: заказ не должен оставаться доступным после перезапуска, возврата кнопкой «Назад» или входа другого тестового пользователя. Отказ сервера не очищает уже сохранённый экран.
Выход без сети требует отдельного состояния. Приложение закрывает локальный доступ, а невозможность завершить серверный отзыв показывает по принятому правилу. Надпись «Вы вышли со всех устройств» до подтверждения сервером даёт клиенту ложное обещание.
Форма входа не доказывает завершение сессии.
OWASP MASWE-0024; сценарии проверки составлены редакцией · 08.10.2026.
4. Отзыв проверяют на старом доступе и на его продлении.
Токен доступа разрешает запросы, а токен продления позволяет получать новый доступ. Отзыв второго не всегда закрывает первый сразу: это прямо разобрано в RFC 7009. Для бизнеса разница означает, что потерянный аппарат ещё некоторое время может читать данные.
Официальная документация Firebase показывает этот разрыв на реализации. Отзыв токенов продления и проверка отзыва уже выданного ID token являются отдельными действиями. Это пример устройства системы, а не рекомендация выбрать Firebase.
Срок прекращения доступа фиксируют в приёмке. Если бизнес требует отказа сразу после подтверждения отзыва, команда должна показать его на защищённом запросе. Фраза «JWT скоро истечёт» не доказывает выполнение такого требования.
Отозванная сессия не должна получать новый доступ.
RFC 7009, OWASP MASWE-0024, Firebase Manage User Sessions · 08.10.2026.
Удалённый отзыв не может сам стереть данные с отключённого от сети телефона. Поэтому локальное хранение и доступ к кешу обсуждают заранее. Для работы агента используют тестовые данные без клиентов.
При ротации токен продления заменяется после использования. RFC 9700 описывает обнаружение повторного использования, альтернативой служит привязка токена к экземпляру клиента. Название механизма не заменяет проверку поведения.
В матрицу стоит добавить параллельные запросы и повтор после сетевого сбоя. Если два запроса пытаются продлить сессию одновременно, клиент не должен застревать в цикле входа. Это отдельный сценарий разработки, который команда проверяет на своей реализации.
Сетевой повтор не должен превращаться в бесконечный вход.
Редакционные сценарии на основе RFC 9700 §4.14.2 · 08.10.2026. Политика повторов зависит от реализации.
5. Наш веб-вход показал, что экран не заменяет проверку доступа.
Веб-вход учеников появился 8 сентября 2026 года, PR #2186. Пользователь получает письмо и открывает ссылку, вход и выход реализованы в веб-кабинете. Это собственный опыт разработки, его нельзя выдавать за мобильный кейс.
При ревью цепочки доступа нашли другую границу: выданное право ещё не означает доставленное письмо. Ошибка отправки могла оставить пользователя без ссылки, а повтор события не исправлял её. Этот дефект нашли до боевых продаж.
Серверные права и восстановление пути проверяют независимо. У нашей машины были ошибки в обоих местах. Про ответственность за ошибки агентов есть отдельный разбор, здесь нужны последствия для приёмки входа.
07.07
Ревью обнаружило чтение серверных агрегатов в обход пароля веб-экрана. Исправление в той записи было предложенной задачей. Проверка для мобильной приёмки: прямой запрос без действующего права получает отказ.
09.09
До боевых продаж ревью нашло тупик письма доступа: право уже выдано, отправка упала, повтор события ссылку не присылал. Исправление: выдачу права отделили от доставки, неуспешное письмо можно повторить.
Оригинальные записи журналов машины от 07.07 и 09.09.2026, сверены 08.10.2026. Мобильные выводы сформулированы редакцией.
6. Работу агента принимают воспроизводимым сценарием.
ИИ-агенту передают ожидаемое поведение до написания кода. В задаче для ИИ-агента указывают, как идентифицируется аккаунт, какие устройства остаются активными и когда старый доступ должен перестать работать. «Сделать авторизацию» оставляет эти решения исполнителю.
Постоянные ограничения входят в правила для ИИ-агентов: проверка прав на сервере, запрет выдавать секреты в журнал и работа с синтетическими аккаунтами. Сценарии конкретного продукта остаются в задаче и тестах.
Инженер принимает результат отдельно от отчёта агента. Он повторяет матрицу на старом и новом устройстве, смотрит отказ сервера и локальный экран. Зелёная проверка первого входа не закрывает приёмку выхода со всех устройств.
Материалы сдачи должны позволять повторить проверку.
Редакционная приёмка по OWASP и опыту веб-входа vibecoding.ru · 08.10.2026.
Жалоба на вход должна завершаться проверкой следующего выпуска. Команда воспроизводит сбой на тестовом аккаунте, исправляет причину и повторяет сценарий после обновлений.
Следующий шаг для руководителя находится на странице разбора задачи. Этот адрес сейчас ведёт к условиям работы и записи на звонок.
Передать реализацию можно через разработку по подписке. Мобильные сессии, восстановление и выход со всех устройств можно поставить в очередь проекта.
Подписка оплачивает поток работы, объём задачи согласуют отдельно.
Живой тариф /services · 08.10.2026.
7. Частые вопросы
Нужно ли закрывать старый телефон при каждом новом входе?+
Не обязательно. Это правило продукта: разрешить несколько устройств или оставлять только выбранное. При любом варианте должны быть проверены отзыв потерянного устройства и путь восстановления аккаунта.
Можно ли считать Face ID или отпечаток повторным входом?+
Биометрия может открывать локальный доступ. Она не доказывает, что серверная сессия ещё действует. После отзыва серверный запрос должен получить отказ по принятому правилу.
Достаточно ли удалить токен из приложения?+
Удаление закрывает локальный путь, но не доказывает отзыв на сервере. В приёмке повторяют запрос с сохранённой тестовой сессией и попытку получить новый доступ.
Как восстановить вход без старого номера?+
Нужен заранее описанный путь подтверждения владельца. Его проверяют без участия старого аппарата и без доступного старого номера. История и оплаченные права должны остаться в прежнем аккаунте.
Удалит ли выход со всех устройств файлы на потерянном телефоне?+
Серверный отзыв прекращает дальнейший доступ по сети. Он не стирает ранее сохранённые файлы на отключённом аппарате. Локальная защита и хранение данных требуют отдельной приёмки.
Источники
- OWASP: MASWE-0024, Sensitive Data Accessible After Session Termination — официальный стандарт сообщества
- IETF: RFC 7009, OAuth 2.0 Token Revocation (август 2013) — спецификация
- IETF: RFC 9700, Best Current Practice for OAuth 2.0 Security (январь 2025), §4.14.2 — спецификация
- Firebase: Manage User Sessions — документация вендора
- vibecoding.ru: собственный публичный вход в веб-кабинет — наш продукт
- vibecoding.ru: открытая история разработки машины агентов — наш продукт
- vibecoding.ru: подписка для компании — наш тариф
Запомнить
- Новый аппарат должен вернуть прежний аккаунт, сверьте историю и оплаченные права.
- Выход закрывает серверный и локальный доступ, повторите запрос и перезапуск приложения.
- Отзыв проверяют на уже выданном доступе и его продлении, задайте допустимое окно отказа.
- Потерянный аппарат не участвует в восстановлении, испытайте этот путь отдельно.
- Исправление завершено, когда сценарий поломки стал повторяемой проверкой следующего выпуска.