← К схеме

Auth / Security

cross-cutting concern

Сквозной слой безопасности, пронизывающий все модули. Отвечает за аутентификацию пользователей, авторизацию действий и контроль доступа к данным на уровне отдельных записей.

Архитектура

Точки входа
Authentication — кто пользователь?
Идентификация пользователя. Все точки входа сходятся к единому user_id.
argon2id JWT HS256 NIST 800-63B zxcvbn + HIBP SSO/OIDC MFA TOTP
Authorization — что разрешено?
Owner › Admin › Member
Эндпоинты проверяют permissions через require() → ROLE_PERMISSIONS, а не роли напрямую
Data-level ACL — что доступно?
Источник данных — единственная инстанция, определяющая, кто что видит.
Двойной фильтр: Source ACL + Platform ACL — доступ предоставляется лишь при срабатывании обоих.
Identity Mapping Container ACL Email auto-match Fail-safe

Токены и сессии

запрос → Access → истёк → Refresh → новая пара ↻
Access Token короткий · 15м
Тип JWT, stateless
TTL 15 минут
Хранение В памяти JS
Передача Authorization: Bearer
Header alg, typ, kid
Claims sub, role, exp, iat, jti, iss, aud
ротация
Refresh Token длинный · 30д
Тип Stateful (БД)
TTL 30д sliding / 90д ceiling
Хранение cookie
Флаги httpOnly, Secure, SameSite=Strict
Семья family_id (UUIDv7)
⟳ Rotation & Reuse Detection
Каждый refresh выдаёт новую пару, старый токен инвалидируется. Повторное использование отозванного токена влечёт аннулирование всей цепочки (token family), но не всех сессий пользователя.

Защита

запрос → TLS → Заголовки → CORS → CSRF → Перебор → Крипто-ядро → Аудит-лог → ✓ обработка
Рубеж защиты от перебора — детально:
по IP с 3-й неудачи 10 неудач
порог по IP
Rate limit по IP
20 попыток / 15 мин. Redis sliding window.
с 3-й неудачи
Задержка на уровне аккаунта
Первые 2 попытки без задержки, затем 1с → 2с → 4с → 8с (предел 30с). На стороне сервера.
после 10 неудач
Alert Owner/Admin
Уведомление Owner/Admin — без блокировки.
API

Workzone Проектирование

Детальные решения по проектированию модуля.


Макеты Wireframes

Экраны — описание и макет каждого.


Фичи Features

Многоэкранные сценарии — описание, технические требования, переходы.