');}.md-tag.md-tag--api{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,');}.md-tag.md-tag--internal{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,');}.md-tag.md-tag--public{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,');}.md-tag.md-tag--product-weather{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,');} The chat responses are generated using Generative AI technology for intuitive search and may not be entirely accurate. They are not intended as professional advice. For full details, including our use rights, privacy practices and potential export control restrictions, please refer to our Generative AI Service Terms of Use and Generative AI Service Privacy Information. As this is a test version, please let us know if something irritating comes up. Like you get recommended a chocolate fudge ice cream instead of an energy managing application. If that occurs, please use the feedback button in our contact form!
Insights Hub drives smart manufacturing through the industrial Internet of Things. Gain actionable insights with asset and operational data and improve your processes.
Token Handling in Industrial IoT SDK for Python provides access token fetching using service credentials, caching them and re-fetching them on expiry. This provides an easy authorization handling mechanism for developers. Developers can configure user authorization tokens or service credentials. Service credentials can be set up programmatically or using environment variables.
The Industrial IoT SDK for Python uses the client ID, client secret and other configured parameters when fetching technical tokens to make Industrial IoT API calls. Refer to Environment Variables required to fetch Technical Tokens for more information on parameters to be configured.
The Industrial IoT SDK for Python uses app specific service credentials if available and otherwise looks for tenant specific service credentials.
API calls are only executed by the Industrial IoT SDK for Python if the technical token is valid. The validation uses the issuer, valid issuer, issued at, expiry, token algorithm, and token type in the check.
After fetching a valid token, the token is cached in a credentials object. Every technical token is valid for 30 minutes. A new token is automatically fetched 5 minutes before the expiry.
Required Environment Variables for Fetching Technical Tokens¶
The Industrial IoT SDK for Python only uses environment variables for fetching tokens if neither user token nor service credentials are available.
Environment Variables for App Specific Technical Tokens¶
Environment Variable
Description
MDSP_KEY_STORE_CLIENT_ID
Client ID displayed as service credentials in Developer Cockpit or Operator Cockpit
MDSP_KEY_STORE_CLIENT_SECRET
Client secret displayed as service credentials in Developer Cockpit or Operator Cockpit
MDSP_OS_VM_APP_NAME
The application name as stored by the version management of the Operator Services
MDSP_OS_VM_APP_VERSION
The application version as stored by the version management of the Operator Services
MDSP_HOST_TENANT
Host Tenant
MDSP_USER_TENANT
User Tenant
HOST_BASEDOMAIN(optional)
The basedomain url for domains other than '*.mindsphere.io'
Environment Variables for Tenant Specific Technical Tokens¶
Environment Variable
Description
MINDSPHERE_CLIENT_ID
Client ID of the service credentials
MINDSPHERE_CLIENT_SECRET
Client secret of the service credentials
MINDSPHERE_TENANT
Tenant name
HOST_BASEDOMAIN(optional)
The basedomain url only for domains other than '*.mindsphere.io'
Environment Variables for Tenant Specific Technical Tokens with Subtenant Impersonation¶
Environmental Variable Name
Description
MINDSPHERE_CLIENT_ID
Client ID of the service credentials
MINDSPHERE_CLIENT_SECRET
Client secret of the service credentials
MINDSPHERE_TENANT
Tenant name
MINDSPHERE_SUB_TENANT
Subtenant name
HOST_BASEDOMAIN(optional)
The basedomain url only for domains other than '*.mindsphere.io'
Here are some examples of how you can also pass these variables as parameters for authentication and token handling.