Files
inecs f8d3cbdd59 Initial commit: VMware vSphere API simulator scaffold.
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API
contracts, docs, client examples, and the unit/integration/compatibility
test suite for local client and tooling labs without a real vCenter.
2026-07-18 04:42:11 +03:00

1.9 KiB

Language / Язык: English | Русский

Session

Устойчивая идентичность сессии, общая для REST и SOAP: app/vsphere/security/session.py.

Эндпоинты

Метод Путь Заметки
POST /api/session Basic auth → JSON-строка session id + заголовок/cookie vmware-api-session-id
GET /api/session HTTP 200; заголовки x-vmware-session-user / x-vmware-session-roles
DELETE /api/session Инвалидирует сессию, очищает cookie
POST/GET/DELETE /rest/com/vmware/cis/session Legacy-эквиваленты { "value": … }
POST SOAP SessionManager.Login Возвращает тот же session id; ставит cookie vmware_soap_session
POST SOAP SessionManager.Logout Удаляет сессию

Основные моменты

  • Сессии — непрозрачные 32-символьные hex-токены в vsphere_sessions со скользящим TTL 2 часа — каждый аутентифицированный вызов продлевает expires_at.
  • Четыре лабораторные учётки (vsphere_credentials, scrypt-хеш) идемпотентно обеспечиваются при первом login и каждым профилем seed (ensure_default_credentials).
  • require_session резолвит сессию из заголовка или cookie vmware-api-session-id; отсутствует/истекла → HTTP 401.
  • Роли привязываются к сессии при lookup (vsphere_credentials.roles) и управляют Авторизацией.

Полные примеры запросов — Аутентификация.