Обновить TASK.md

This commit is contained in:
a-tarazevich 2026-02-25 06:46:41 +00:00
parent ee6ad5d4d7
commit 933041fbdc

32
TASK.md
View File

@ -85,3 +85,35 @@
На доске в PenPot необходимо отдельно оформить палитру цветов, используемые шрифты и типографику (UI Kit).
## Задание 1. Усиливаем безопасность (~3 часа)
**Дедлайн сдачи артефактов: 25.02 в 14:00**
Цель: повысить безопасность системы авторизации, поскольку приложение в будущем будет опубликовано для широкой аудитории.
Требования:
- Заменить текущую систему ввода кода на логин и пароль.
- Имплементировать один из протоколов авторизации (OAuth, CAS или т.п.)
- Новый алгоритм авторизации должен быть поддержан во всем функционале приложения.
- Предусмотреть возможность обработки ошибок во время авторизации, таких как отсутствие интернета у устройства и т.п.
- Предусмотреть все состояния UI: пустые поля, ошибки валидации, ошибка "Неверный логин/пароль", состояние загрузки при запросе к серверу, состояние блокировки после 5 неудачных попыток.
- Хранить авторизационные данные в защищенном хранилище или зашифрованном виде.
- Предотвратить перебор логина и пароля на стороне клиента (уменьшить вредоносный трафик). Перебором считается ввод неверных данных более 5 раз. Добавить визуальную обратную связь пользователю при зафиксированном переборе пароля.
- На уровне ОС ограничить возможность записи экрана и создания скриншотов (при поддержке ОС).
- Доработать UI Kit.
Ограничения:
- Логин должен включать в себя следующий набор символов: .; a-z; A-Z; 0-9;
- Пароль должен:
- состоять не менее чем из 8 символов;
- не повторять один и тот же символ 3 и более раз;
- содержать не менее 1 спецсимвола;
- не содержать в себе 3 и более символа из логина. Например, если логин user, то пароль не может содержать следующий набор символов: use, Use, ser, sEr и тп. Регистр значения не имеет.
Поощряется добавление любых иных мер, усиливающих безопасность учетной записи.
**Для прохождения на код-ревью, в приложение должны выполняться следующие сценарии:**
- Корректная работа без интернета
- Ввод неверных данных
- Успешный вход