Перейти к содержанию

Доступ и авторизация

Справочник по авторизации, повторному входу, ролям и модели безопасности мобильного приложения.

Вход и авторизация

Раздел описывает первичные сценарии входа в мобильное приложение 1Форма и связанные с ними серверные настройки.


Первичные способы входа

Доступные сценарии входа зависят не только от платформы, но и от серверной auth-конфигурации.

Сценарий Что происходит
Логин и пароль Пользователь вводит логин и пароль учётной записи 1Форма. Сценарий доступен, когда серверная auth-конфигурация разрешает login-pass.
SMS-код Пользователь вводит номер телефона, получает одноразовый код и подтверждает вход.
Внешний провайдер (OAuth / SAML) Вход выполняется через настроенного SSO-провайдера.
QR-код На этапе добавления учётной записи клиент может получить из QR адрес сервера и часть учётных данных(логин и/или номер телефона), после чего продолжает выбранный auth-flow.

PIN-код, Face ID, Touch ID и Android-биометрия не являются первичным способом входа на "чистом" клиенте. Это сценарии повторного входа и разблокировки после первой успешной авторизации.


Как выбирается сценарий входа

Поведение клиента определяется серверной auth-конфигурацией, а не только платформой.

  • Мобильыне клиенты не показывают отдельный универсальный список вариантов. После проверки адреса сервера клиент маршрутизирует пользователя по authTemplate.type: телефонный шаблон ведёт в SMS-сценарий, а login / email / пустой шаблон ведёт на экран логина и пароля.
  • Если у клиента основной сценарий — SMS, но сервер также разрешает логин и пароль, в SMS-экране появляется кнопка «У меня есть логин и пароль». Этот fallback зависит от server-side набора auth templates (showLoginAuth / наличие login-template).
  • SAML/OAuth на iOS не ограничены Android-платформой: при выборе соответствующего провайдера клиент обрабатывает их в общем login-flow.

Регистрация новых пользователей

Самостоятельная регистрация показывается не всегда. Её доступность определяется серверной auth-конфигурацией и ответом сервера в конкретном сценарии авторизации.

  • Для телефонного сценария экран регистрации открывается только после серверного ответа RegistrationAllowed.
  • Блок согласия на экране регистрации зависит от серверной ссылки registerPrivacyLink / политики конфиденциальности.
  • Минимально подтверждённые обязательные поля — имя и фамилия. Дополнительные поля и точный состав формы зависят от клиента и конфигурации сервера.
  • Если сервер не разрешает регистрацию, переход в этот сценарий в клиенте не появляются.

Повторный вход: PIN-код и биометрия

После первой успешной авторизации клиент может перевести пользователя на сценарий повторного входа:

  • PIN-код приложения — задаётся после первичного входа и используется при следующем запуске или разблокировке приложения.
  • Биометрия — работает как альтернатива PIN-коду, если она настроена на устройстве.
  • На iOS возможность выбрать режим "никогда не блокировать" зависит от серверной политики пароля и признака canSelectNeverLock.

Политика паролей

Требования к паролю (минимальная длина, обязательность специальных символов, срок действия и т.д.) задаются на стороне сервера в настройках безопасности. Мобильное приложение получает эти требования автоматически и показывает пользователям соответствующие подсказки при смене пароля.


Обновление токена

После успешной авторизации клиент хранит access/refresh-token и при истечении access-token пытается выполнить автоматическое обновление сессии. Если refresh-сценарий завершился ошибкой или сервер требует повторной аутентификации, пользователю предлагается войти заново.

Роли и права доступа

Раздел описывает, как мобильное приложение определяет, что может делать тот или иной пользователь, и чем различаются права разных групп.


Группа «Administrators»

Пользователь, входящий в группу Administrators на сервере 1Форма, получает расширенные права в мобильном приложении.

Что доступно администратору дополнительно:

  • Управление задачами других пользователей — администратор может удалять и изменять задачи, даже если не является их владельцем или исполнителем.
  • Изменение аватара другого пользователя — в карточке контакта администратор видит возможность загрузить или удалить аватар.
  • Расширенные опции в контекстном меню задачи — администратору доступны дополнительные пункты меню действий, которые не видны обычным пользователям.

Принадлежность к группе Administrators проверяется автоматически при входе в систему — отдельно включать это в МП не нужно.


Режим «Гостей»

Пользователи группы Guests работают в приложении с ограниченными возможностями. Это сделано для внешних участников, которым нужен доступ к системе, но не ко всем её функциям.

Что ограничено для гостей:

  • Нельзя добавлять подписчиков к задачам.
  • Скрыты определённые кнопки действий (зависит от конкретного экрана).
  • В некоторых местах интерфейса ограничены действия с контентом.

Перевоплощение под другого пользователя

В карточке пользователя (только для администратора) при лонгтапе на аватар/из меню три точки может отображаться пункт «Impersonate» — возможность временно войти в систему от имени этого пользователя. Это позволяет администратору воспроизвести проблему, с которой столкнулся конкретный пользователь, видя интерфейс его глазами.

Функция доступна только если: - текущий пользователь не находится уже в режиме «перевоплощения», - текущий пользователь — администратор, - для целевого пользователя на сервере включён флаг canImpersonate.

После входа в режим «перевоплощения» в боковом меню/в верхней панели появляется UI-элемент «Отменить перевоплощение» — она возвращает пользователя к его собственной учётной записи.


Итоговая таблица прав

Возможность Обычный пользователь Гость Администратор
Просмотр задач ✅ ✅ (ограниченно) ✅
Создание задач ✅ ✅ (ограниченно) ✅
Удаление чужих задач ❌ ❌ ✅
Изменение чужих задач ❌ ❌ ✅
Добавление подписчиков ✅ ❌ ✅
Изменение аватара другого пользователя ❌ ❌ ✅
Вход от имени другого пользователя ❌ ❌ ✅ (если разрешено)