**Language / Язык:** [English](../../domains/session.md) | [Русский](session.md) # Session Устойчивая идентичность сессии, общая для REST и SOAP: [`app/vsphere/security/session.py`](../../../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`) и управляют [Авторизацией](authz.md). Полные примеры запросов — [Аутентификация](../authentication.md).