Changes between Version 1 and Version 2 of NETIntel-СЦ5-EnvToken


Ignore:
Timestamp:
01/21/26 00:44:51 (3 weeks ago)
Author:
231118
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NETIntel-СЦ5-EnvToken

    v1 v2  
    22
    33== Опис
    4 Администратор генерира временски валиден token за избран environment. Клиентот го користи token-от во X-Env-Token.
     4Најавен администратор (tenant admin) генерира временски валиден token за избран environment во рамки на својот tenant.
     5Клиентските агенти го користат token-от во HTTP header `X-Env-Token` при испраќање податоци кон серверот.
    56
    67== Актери
    7 * Администратор
     8* Администратор (корисник најавен преку Google OAuth)
    89
    910== Предуслови
    10 * Валиден admin session.
    11 * Постојно environment.
     11* Валидна корисничка сесија (JWT `session` cookie добиен преку Google OAuth).
     12* Корисникот има улога `admin` во својот tenant.
     13* Постојно environment поврзано со истиот tenant.
    1214
    1315== Главен тек
    14 1. POST /api/admin/tokens со env.
    15 2. Сервер создава token и го зачувува во env_tokens со expires_at.
    16 3. Token се користи од клиентот за /receive.
     161. Администраторот е најавен во системот (Google OAuth).
     172. Клиентскиот интерфејс праќа барање `POST /api/admin/tokens` со параметар `env`.
     183. Серверот го чита `tenant_id` од корисничката сесија (JWT).
     194. Серверот проверува дали environment постои и припаѓа на истиот tenant.
     205. Серверот генерира временски валиден token.
     216. Token-от се зачувува во табелата `env_tokens` заедно со `env_name`, `tenant_id` и `expires_at`.
     227. Генерираниот token се враќа како одговор.
     238. Клиентските агенти го користат token-от во header `X-Env-Token` при повик кон `/receive`.
    1724
    1825== Табели
    19 * admin_sessions
     26* users
     27* tenants
     28* memberships
    2029* environments
    2130* env_tokens