Changes between Version 1 and Version 2 of NETIntel-СЦ5-EnvToken
- Timestamp:
- 01/21/26 00:44:51 (3 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
NETIntel-СЦ5-EnvToken
v1 v2 2 2 3 3 == Опис 4 Администратор генерира временски валиден token за избран environment. Клиентот го користи token-от во X-Env-Token. 4 Најавен администратор (tenant admin) генерира временски валиден token за избран environment во рамки на својот tenant. 5 Клиентските агенти го користат token-от во HTTP header `X-Env-Token` при испраќање податоци кон серверот. 5 6 6 7 == Актери 7 * Администратор 8 * Администратор (корисник најавен преку Google OAuth) 8 9 9 10 == Предуслови 10 * Валиден admin session. 11 * Постојно environment. 11 * Валидна корисничка сесија (JWT `session` cookie добиен преку Google OAuth). 12 * Корисникот има улога `admin` во својот tenant. 13 * Постојно environment поврзано со истиот tenant. 12 14 13 15 == Главен тек 14 1. POST /api/admin/tokens со env. 15 2. Сервер создава token и го зачувува во env_tokens со expires_at. 16 3. Token се користи од клиентот за /receive. 16 1. Администраторот е најавен во системот (Google OAuth). 17 2. Клиентскиот интерфејс праќа барање `POST /api/admin/tokens` со параметар `env`. 18 3. Серверот го чита `tenant_id` од корисничката сесија (JWT). 19 4. Серверот проверува дали environment постои и припаѓа на истиот tenant. 20 5. Серверот генерира временски валиден token. 21 6. Token-от се зачувува во табелата `env_tokens` заедно со `env_name`, `tenant_id` и `expires_at`. 22 7. Генерираниот token се враќа како одговор. 23 8. Клиентските агенти го користат token-от во header `X-Env-Token` при повик кон `/receive`. 17 24 18 25 == Табели 19 * admin_sessions 26 * users 27 * tenants 28 * memberships 20 29 * environments 21 30 * env_tokens
