--- title: "Visitor Single Sign-On (SSO)" slug: "server-api-livechat-visitor-single-sign-on-sso" updated: 2022-11-29T08:34:23Z published: 2022-11-29T08:34:23Z canonical: "developer.comm100.com/server-api-livechat-visitor-single-sign-on-sso" --- > ## Documentation Index > Fetch the complete documentation index at: https://developer.comm100.com/llms.txt > Use this file to discover all available pages before exploring further. # Visitor Single Sign-On (SSO) ## Visitor Single Sign-On (SSO) You need the Manage Settings permission to manage visitor sso config. - `Visitor Single Sign-On (SSO)` - Visitor Single Sign-On (SSO) Manage - `GET livechat/visitorSsoConfig` - [Get a single Visitor Single Sign On](/docs/server-api-livechat-visitor-single-sign-on-sso#get-a-single-visitor-single-sign-on) - `POST livechat/visitorSsoConfig:disable` - [Disable the Visitor Single Sign On](/docs/server-api-livechat-visitor-single-sign-on-sso#disable-the-visitor-single-sign-on) - `POST livechat/visitorSsoConfig:enable` - [Enable the Visitor Single Sign On](/docs/server-api-livechat-visitor-single-sign-on-sso#enable-the-visitor-single-sign-on) - `PUT livechat/visitorSsoConfig` - [Update the Visitor Single Sign On](/docs/server-api-livechat-visitor-single-sign-on-sso#update-the-visitor-single-sign-on) ### Visitor Single Sign On JSON Format Visitor Single Sign-On (SSO) is represented as simple flat JSON objects with the following keys: | Name | Type | Description | | --- | --- | --- | | `isEnabled` | bool | Whether visitor single sign-on (SSO) is enabled or not. | | `protocolType` | string | "samlSso", "jwtSso" | | `signInUrl` | string | Url for SAML sign-in. | | `logoutUrl` | string | Url for SAML log-out. | | `artifactResolutionServiceUrl` | string | Url for artifact resolution service. | | `samlCertificate` | string | SAML certificate, mandatory when type is SAML. | | `jwtLoginUrl` | string | Url for JWT sign-in. | | `jwtCertificate` | string | JWT certificate, mandatory when type is JWT. | | `visitorSsoFieldMappings` | [visitorSsoFieldMappings[]](/docs/server-api-livechat-visitor-single-sign-on-sso#visitor-sso-field-mapping-json-format) | Reference to Visitor SSO Field Mapping. | | `visitorSsos` | [visitorSsos[]](/docs/server-api-livechat-visitor-single-sign-on-sso#campaign-visitor-sso-json-format) | Reference to Campaign Visitor SSO. | ### Visitor SSO Field Mapping JSON Format: | Name | Type | Description | | --- | --- | --- | | `id` | guid | Id of the visitor sso field mapping. | | `idpAttribute` | string | SSO attribute name from Idp. | | `comm100Field` | string | The Comm100 field name. | ### Campaign Visitor SSO JSON Format: | Name | Type | Description | | --- | --- | --- | | `campaignId` | guid | Id of the campaign. | | `signInOption` | string | Allowed values are "noSignIn", "signInOptional", "signInRequired". | | `isPreChatFormSkipped` | bool | Whether pre-chat form is skipped or not. | | `ifOpenLoginPageInEmbeddedChatWindow` | bool | Whether to open the login page in embedded chat window or not. | | `campaign` | [campaign](/docs/campaign) | Reference to Campaign. | ### Get a single Visitor Single Sign On `GET livechat/visitorSsoConfig` - #### Parameters: | Name | Type | in | Required | Description | | --- | --- | --- | --- | --- | | `include` | string | query | no | Allowed values are "visitorSsoFieldMapping", "campaignVisitorSso". | - #### Response: [Visitor Single Sign On](/docs/server-api-livechat-visitor-single-sign-on-sso#visitor-single-sign-on-json-format) - #### Example Sample Request: ``` curl https://api11.comm100.io/v4/livechat/visitorSsoConfig \ -X 'GET' \ -H 'Authorization: Bearer {access_token}' \ ``` Response: HTTP/1.1 200 OK ``` { "isEnabled": true, "protocolType": "samlSso", "signInUrl": "https://autoportal.comm100.io/SSOIDP", "logoutUrl": "", "artifactResolutionServiceUrl": "", "samlCertificate": "", "jwtLoginUrl": "", "jwtCertificate": "", "visitorSsoFieldMappings": [ { "id": "FFE0FD0E-81A5-4998-81FD-E01DAA2D4ABD", "idpAttribute": "phone", "comm100Field": "{!Pre-Chat.Phone}" } ], "visitorSsos": [ { "campaignId": "22f0b296-69e9-4b81-abe4-4bb9ed5ec9ef", "signInOption": "noSignIn", "isPreChatFormSkipped": true, "ifOpenLoginPageInEmbeddedChatWindow": true, "campaign": { "name": "Temporary Campaign", "id": "E7B4BD07-C09D-4252-856E-49CA22537B94", "description": "This is a campaign for testing", "language": "english" } } ] } ``` ### Disable the Visitor Single Sign On `POST livechat/visitorSsoConfig:disable` - #### Parameters: No Parameters - #### Response: [Visitor Single Sign On](/docs/server-api-livechat-visitor-single-sign-on-sso#visitor-single-sign-on-json-format) - #### Example Sample Request: ``` curl https://api11.comm100.io/v4/livechat/visitorSsoConfig:disable \ -X 'POST' \ -H 'Authorization: Bearer {access_token}' \ ``` Response: HTTP/1.1 200 OK ``` { "isEnabled": false, "protocolType": "samlSso", "signInUrl": "https://autoportal.comm100.io/SSOIDP", "logoutUrl": "", "artifactResolutionServiceUrl": "", "samlCertificate": "", "jwtLoginUrl": "", "jwtCertificate": "", "visitorSsoFieldMappings": [ { "id": "FFE0FD0E-81A5-4998-81FD-E01DAA2D4ABD", "idpAttribute": "phone", "comm100Field": "{!Pre-Chat.Phone}" } ], "visitorSsos": [ { "campaignId": "22f0b296-69e9-4b81-abe4-4bb9ed5ec9ef", "signInOption": "noSignIn", "isPreChatFormSkipped": true, "ifOpenLoginPageInEmbeddedChatWindow": true, "campaign": { "name": "Temporary Campaign", "id": "E7B4BD07-C09D-4252-856E-49CA22537B94", "description": "This is a campaign for testing", "language": "english" } } ] } ``` ### Enable the Visitor Single Sign On `POST livechat/visitorSsoConfig:enable` - #### Parameters: No Parameters - #### Response: [Visitor Single Sign On](/docs/server-api-livechat-visitor-single-sign-on-sso#visitor-single-sign-on-json-format) - #### Example Sample Request: ``` curl https://api11.comm100.io/v4/livechat/visitorSsoConfig:enable \ -X 'POST' \ -H 'Authorization: Bearer {access_token}' \ ``` Response: HTTP/1.1 200 OK ``` { "isEnabled": true, "protocolType": "samlSso", "signInUrl": "https://autoportal.comm100.io/SSOIDP", "logoutUrl": "", "artifactResolutionServiceUrl": "", "samlCertificate": "", "jwtLoginUrl": "", "jwtCertificate": "", "visitorSsoFieldMappings": [ { "id": "FFE0FD0E-81A5-4998-81FD-E01DAA2D4ABD", "idpAttribute": "phone", "comm100Field": "{!Pre-Chat.Phone}" } ], "visitorSsos": [ { "campaignId": "22f0b296-69e9-4b81-abe4-4bb9ed5ec9ef", "signInOption": "noSignIn", "isPreChatFormSkipped": true, "ifOpenLoginPageInEmbeddedChatWindow": true, "campaign": { "name": "Temporary Campaign", "id": "E7B4BD07-C09D-4252-856E-49CA22537B94", "description": "This is a campaign for testing", "language": "english" } } ] } ``` ### Update the Visitor Single Sign On `PUT livechat/visitorSsoConfig` - #### Parameters: | Name | Type | in | Required | Description | | --- | --- | --- | --- | --- | | `isEnabled` | bool | body | no | Whether visitor single sign-on (SSO) is enabled or not. | | `protocolType` | string | body | yes | "samlSso", "jwtSso" | | `signInUrl` | string | body | yes | Url for sign-in. | | `logoutUrl` | string | body | no | Url for log-out. | | `artifactResolutionServiceUrl` | string | body | no | Url for artifact resolution service. | | `samlCertificate` | string | body | no | SAML certificate, mandatory when type is SAML. | | `jwtLoginUrl` | string | body | no | Url for JWT sign-in. | | `jwtCertificate` | string | body | yes | JWT certificate, mandatory when type is JWT. | | `visitorSsoFieldMappings` | [visitorSsoFieldMappings[]](/docs/server-api-livechat-visitor-single-sign-on-sso#visitor-sso-field-mapping-json-format) | body | no | All the existing mapping should be included with this endpoint, otherwise the excluded ones will be deleted. | | `visitorSsos` | [visitorSsos[]](/docs/server-api-livechat-visitor-single-sign-on-sso#campaign-visitor-sso-json-format) | body | no | Reference to Campaign Visitor SSO. | - #### Response: [Visitor Single Sign On](/docs/server-api-livechat-visitor-single-sign-on-sso#visitor-single-sign-on-json-format) - #### Example Sample Request: ``` curl https://api11.comm100.io/v4/livechat/visitorSsoConfig \ -X 'PUT' \ -H 'Authorization: Bearer {access_token}' \ -H 'Content-Type: application/json' \ -D '{"isEnabled":true,"signInUrl":"https://autoportal.comm100.io/SSOIDP","logoutUrl":"","artifactResolutionServiceUrl":"","samlCertificate":"","visitorSsoFieldMappings":[{"idpAttribute":"phone","comm100Field":"{!Pre-Chat.Phone}"}],"visitorSsos":[{"campaignId":"22f0b296-69e9-4b81-abe4-4bb9ed5ec9ef","signInOption":"noSignIn","isPreChatFormSkipped":true,"ifOpenLoginPageInEmbeddedChatWindow":true}]}' ``` Response: HTTP/1.1 200 OK ``` { "isEnabled": true, "protocolType": "samlSso", "signInUrl": "https://autoportal.comm100.io/SSOIDP", "logoutUrl": "", "artifactResolutionServiceUrl": "", "samlCertificate": "", "jwtLoginUrl": "", "jwtCertificate": "", "visitorSsoFieldMappings": [ { "id": "FFE0FD0E-81A5-4998-81FD-E01DAA2D4ABD", "idpAttribute": "phone", "comm100Field": "{!Pre-Chat.Phone}" } ], "visitorSsos": [ { "campaignId": "22f0b296-69e9-4b81-abe4-4bb9ed5ec9ef", "signInOption": "noSignIn", "isPreChatFormSkipped": true, "ifOpenLoginPageInEmbeddedChatWindow": true, "campaign": { "name": "Temporary Campaign", "id": "E7B4BD07-C09D-4252-856E-49CA22537B94", "description": "This is a campaign for testing", "language": "english" } } ] } ```