О платформе Войти
← К списку версий
v0.18.1 02.08.2026 PATCH
API key: права доступа, платформы, история обмена
Вкладка «API key» как настоящая вкладка (Задание 57)
  • Вкладка «API key» теперь выглядит как остальные вкладки Настроек: панель табов (Основные / Безопасность / Интеграции / API key / Версии системы) видна всегда, а контент API-ключей обёрнут в тот же контейнер, что и другие вкладки. Раньше на вкладке «API key» табы вообще не показывались — она выглядела как отдельная страница.
  • Стили приведены в порядок: добавлены бейджи (статусы/права/платформы), кнопки `btn-sm`/`btn-accent`/`btn-red` — раньше классы были, а стилей для них в Настройках не было.
Права доступа (скоупы) для ключей
  • Новое поле `abilities` (JSON) в таблице `api_keys`: ключ теперь выдаётся с конкретными правами — `projects:read` (чтение проектов), `projects:write` (редактирование), `sync:run` (запуск синхронизации). В форме создания — чекбоксы с описанием каждого права, минимум одно.
  • Права ключа проверяются в единой точке middleware: запрос без соответствующего права отклоняется с кодом 403 и указанием нужного права. Устаревшие ключи без явно заданных прав проходят конвертацию в актуальную модель прав при первом обращении.
Платформа и описание ключа
  • Новое поле `platform` к какой платформе/агенту выдан ключ (n8n, ИИ-агент, внешняя платформа и т.д.), с подсказками через datalist. Отображается бейджем в списке и попадает в журнал.
  • Новое поле `description` произвольная заметка к ключу, показывается в списке и на странице ключа.
История обмена данными
  • Страница ключа (`/admin/api-keys/{id}`, кнопка «История» в списке): полная информация о ключе + таблица обращений — время, запрос (`GET /api/projects…`), результат (код 200/403/…), IP, User-Agent. Видно, как идёт обмен данными между платформами.
  • В лог добавляется `api_key_id` (новая колонка в `activity_log`): обращения привязаны к конкретному ключу; при удалении ключа история сохраняется (FK `SET NULL`).
  • Запросы с запретом прав логируются отдельно (`api_key_forbidden`) — видно, кто пытался делать то, что ему не разрешено.