feat: add app-level authentication foundation

This commit is contained in:
a.tolmachev
2026-03-30 23:47:09 +03:00
parent 91854a4153
commit ab2e603997
42 changed files with 1624 additions and 236 deletions
+13 -15
View File
@@ -378,35 +378,33 @@ UI-файлы:
Что уже есть реально:
- внешний `Basic Auth` на `nginx`
- login screen и mock redirect flow
Что отсутствует:
Что уже есть:
- session auth backend;
- login endpoint;
- logout endpoint;
- current user endpoint
Отдельный конфликт:
- это не баг реализации, а отсутствие целого auth слоя;
- login page пока не должна позиционироваться как production-ready flow.
- `POST /api/auth/login`;
- `POST /api/auth/logout`;
- `GET /api/auth/session`;
- protected page guard через backend session.
Простой итог:
- пока не интегрировать как реальный backend flow;
- оставить как временный mock screen до отдельного решения по auth.
- login уже перешел на live backend flow;
- защищенные страницы проверяют server-side session;
- `localStorage` больше не должен быть source of truth для auth.
## 5. Отдельные UI-vs-backend конфликты
### 5.1. Login vs Basic Auth
UI предполагает встроенный login, backend сейчас защищен внешним `Basic Auth`.
Конфликт закрыт. UI использует встроенный login, backend перешел на app-level session auth.
Решение:
- не делать вид, что login уже рабочий;
- отложить интеграцию login до отдельного auth этапа.
- использовать `POST /api/auth/login`, `POST /api/auth/logout`, `GET /api/auth/session`;
- хранить auth state в `HttpOnly` cookie;
- использовать `localStorage` только как UI mirror для display state и не считать его source of truth.
### 5.2. Agent draft/edit lifecycle