auth: add community token service seam

This commit is contained in:
a.tolmachev
2026-05-03 18:26:03 +00:00
parent 18b23fcc0d
commit ffcce360fc
10 changed files with 329 additions and 10 deletions
+39
View File
@@ -230,6 +230,45 @@
- открытая редакция работает только со статическим ключом агента и не обязана реализовывать эти конечные точки;
- детальная схема уровней и режимов доступа зафиксирована в `docs/agent-auth-model.md`.
JSON payloads:
- `POST /mcp-auth/v1/token`
- request:
- `grant_type`: `agent_key | refresh_token`
- `agent_key?`
- `refresh_token?`
- `scope[]`
- response:
- `access_token`
- `token_type`
- `expires_in`
- `refresh_token?`
- `machine_access_mode`
- `security_level`
- `agent_id`
- `POST /mcp-auth/v1/token/one-time`
- request:
- `agent_key`
- `operation_id`
- `scope[]`
- response:
- `access_token`
- `token_type`
- `expires_in`
- `machine_access_mode`
- `security_level`
- `agent_id`
Community behavior:
- открытая редакция публикует эти конечные точки как stable public contract;
- в Community вызовы возвращают `403 forbidden` с structured `error.context`, где явно указаны:
- `edition`
- `machine_access_mode`
- `upgrade_required`
- private реализация short-lived и one-time token service подключается без изменения публичного HTTP surface.
### 5.8. Observability
- `GET /api/admin/workspaces/{workspace_id}/logs`