Session Credentials Reference
This topic provides examples of session credentials use.
Examples
Retrieve a Token
This curl example shows how SaaS local users can use the Illumio Login Service (SAML ID for Remote Users)
curl -i -X POST https://login.illum.io:443/api/v2/login_users/authenticate?pce_fqdn=scp1.illum.io -u [email protected]:'password' -H "Content-Type: application/json"
Illumio on-premises solutions do not use a login server, so the curl command will look like this:
curl -i -X POST -u [email protected]:password https://pce.my-company.com:8443/api/v2/login_users/authenticate?pce_fqdn=pce.my-company.com -H "Content-Type: application/json"
Response Body to Authenticate with Login Service
The response for the Login Users API is an authentication token (in blue font):
{ "auth_token":"xxxxxxxxxxxxxxxxxxxxxw89QutJ5WLntqz5jUrI2guA1rZJXKfcbwuF" }
Parameters to create session credentials
Login Service authentication token you obtained using the Login Users API.
Login Users API JSON Schema
This API uses the Illumio Core schema users_login_get.schema.json
.
Create Session Token
curl -i -X GET https://pce.my-company.com:8443/api/v2/users/login -H "Authorization: Token token=ntqz5jUrI2guA1XzUiLCJlbmMiOiJBMTI4Q0JDLUhZJ"
Response Body
GET /users/login
returns a temporary auth_username
and session_token
.
These are used in the curl examples as $KEY:$TOKEN
respectively (if you're not using persistent API credentials).
Example: -u user_4:'xxxxxxxx628f5773c47b72dbcd437b4a10d85a06a'
{ "full_name": "Buford T. Justice", "local": true, "type": "local", "href": "/users/4", "auth_username": "user_4", "inactivity_expiration_minutes": 10, "start": "2017-10-12 16:49:49 UTC", "time_zone": "America/Los_Angeles", "last_login_ip_address": "209.37.96.18", "last_login_on": "2020-10-12T16:49:49.000Z", "certificate": { "expiration": "2020-11-27T03:09:00.000Z", "generated": false }, "login_url": "https://devtest166.ilabs.io:8443/login", "orgs": [ { "org_id": 1, "org_href": "/orgs/1", "display_name": "illum.io", "role_scopes": [ { "role": { "href": "/orgs/1/roles/owner" }, "scope": [], "href": "/orgs/1/users/4/role_scopes/4" } ] } ], "session_token": "xxxxxxxx628f5773c47b72dbcd437b4a10d85a0", "version_tag": "60.1.0-9701f78bef46f521e3d6dd98f70cd8c220940885", "version_date": "Tue Sep 12 11:12:46 2020 -0700", "product_version": { "version": "17.1.1", "build": "6168", "long_display": "17.1.1-6168", "short_display": "17.1.1" } }
Optional Feature Schema: optional_feature.schema.json
{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "additionalProperties": false, "description": "PCE Feature", "required": [ "name", "enabled" ], "properties": { "name": { "type": "string", "description": "The name of the feature" }, "preview": { "type": "boolean", "description": "Is this a preview feature" }, "enabled": { "type": "boolean", "description": "Is this feature enabled" } } }
Get the optional features collection: optional_features_get
{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "array", "items": { "$ref": "optional_feature.schema.json" } }
Set the optional features for an organization: optional_features_put
The example shows the properties available in the release 24.1.1, which includes the property rule_based_label_mapping
.
This property was added to support the new APIs presented in Rule-Based Label Mapping.
{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "array", "items": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "name", "enabled" ], "properties": { "name": { "description": "Name of the feature", "type": "string", "enum": [ "ip_forwarding_firewall_setting", "ui_analytics", "illumination_classic", "ransomware_readiness_dashboard", "per_rule_flow_log_setting", "lightning_default", "collector_scanner_filters", "corporate_ips_groups", "labels_editing_warning_for_enforcement_mode", "label_based_network_detection", "cloudsecure_enabled", "windows_outbound_process_enforcement", "rule_based_label_mapping" ] }, "enabled": { "description": "Enable or disable this feature", "type": "boolean" } } }, { "type": "object", "additionalProperties": false, "required": [ "name", "enabled" ], "properties": { "name": { "description": "Name of the feature", "type": "string", "enum": [ "editable_dns_client_rule", "editable_dhcp_client_rule" ] }, "enabled": { "description": "Enable or disable this feature", "type": "boolean" }, "key": { "description": "Key required to enable the feature. Contact Illumio Support for more details.", "type": "string" } } } ] } }