Files
vmware-api-simulator/docs/ru/domains/session.md
T
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

33 lines
1.9 KiB
Markdown

**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).