Files
vmware-api-simulator/docs/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

1.4 KiB

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

Session

Durable session identity shared by REST and SOAP: app/vsphere/security/session.py.

Endpoints

Method Path Notes
POST /api/session Basic auth → JSON string session id + vmware-api-session-id header/cookie
GET /api/session HTTP 200; x-vmware-session-user / x-vmware-session-roles headers
DELETE /api/session Invalidates the session, clears cookie
POST/GET/DELETE /rest/com/vmware/cis/session Legacy { "value": … } equivalents
POST SOAP SessionManager.Login Returns the same session id; sets vmware_soap_session cookie
POST SOAP SessionManager.Logout Deletes the session

Highlights

  • Sessions are opaque 32-char hex tokens stored in vsphere_sessions with a 2-hour sliding TTL — every authenticated call extends expires_at.
  • The four lab credentials (vsphere_credentials, scrypt-hashed) are idempotently ensured on first login and by every seed profile (ensure_default_credentials).
  • require_session resolves the session from either the vmware-api-session-id header or cookie; missing/expired → HTTP 401.
  • Roles are attached to the session at lookup time (vsphere_credentials.roles) and drive Authorization.

See Authentication for full request examples.