Python Example of Creating a
vSphere Automation
API Session with SSO Credentials

This example is based on code in the
vapiconnect.py
sample file.
This example uses the following global variables.
  • my_vapi_hostname
  • my_sso_username
  • my_sso_password
  • my_stub_config
For a complete and up-to-date version of the sample code, see the vSphere Automation SDK Python samples at GitHub.
import requests from com.vmware.cis_client import Session from vmware.vapi.lib.connect import get_requests_connector from vmware.vapi.security.session import create_session_security_context from vmware.vapi.security.user_password import create_user_password_security_context from vmware.vapi.stdlib.client.factories import StubConfigurationFactory # Create a session object in the client. session = requests.Session() # For development environment only, suppress server certificate checking. session.verify = False # Create a connection for the session. vapi_url = 'https://' + my_vapi_hostname + '/api' connector = get_requests_connector(session=session, url=vapi_url) # Add username/password security context to the connector. basic_context = create_user_password_security_context(my_sso_username, my_sso_password) connector.set_security_context(basic_context) # Create a stub configuration by using the username-password security context. my_stub_config = StubConfigurationFactory.new_std_configuration(connector) # Create a Session stub with username-password security context. session_stub = Session(my_stub_config) # Use the create operation to create an authenticated session. session_id = session_stub.create() # Create a session ID security context. session_id_context = create_session_security_context(session_id) # Update the stub configuration with the session ID security context. my_stub_config.connector.set_security_context(session_id_context)