The Session service allows API clients to manage session tokens including creating, deleting and obtaining information about sessions.
- The Session.create operation creates session token in exchange for another authentication token.
- The Session.delete operation invalidates a session token.
- The Session.get retrieves information about a session token.
The call to the Session.create operation is part of the overall authentication process for API clients. For example, the sequence of steps for establishing a session with SAML token is:
- Connect to lookup service.
- Discover the secure token service (STS) endpoint URL.
- Connect to the secure token service to obtain a SAML token.
- Authenticate to the lookup service using the obtained SAML token.
- Discover the API endpoint URL from lookup service.
- Call the Session.create operation. The Session.create call must include the SAML token.
See the programming guide and samples for additional information about establishing API sessions.
Execution Context and Security Context
To use session based authentication a client should supply the session token obtained through the Session.create operation. The client should add the session token in the security context when using SDK classes. Clients using the REST API should supply the session token using the vmware-api-session-id HTTP header field.
A session begins with call to the Session.create operation to exchange a SAML token for a API session token. A session ends under the following circumstances:
- Call to the Session.delete operation.
- The session expires. Session expiration may be caused by one of the following situations:
= Client inactivity - For a particular session identified by client requests that specify the associated session ID, the lapsed time since the last request exceeds the maximum interval between requests.
= Unconditional or absolute session expiration time: At the beginning of the session, the session logic uses the SAML token and the system configuration to calculate absolute expiration time.
When a session ends, the authentication logic will reject any subsequent client requests that specify that session. Any operations in progress will continue to completion.
The Session returns the following errors:
- Unauthenticated error for any errors related to the request.
- ServiceUnavailable error for all errors caused by internal service failure.