Visitor Single Sign-On (SSO)
  • 29 Nov 2022
  • 3 Minutes to read
  • Dark
    Light

Visitor Single Sign-On (SSO)

  • Dark
    Light

Article Summary

Visitor Single Sign-On (SSO)

You need the Manage Settings permission to manage visitor sso config.

Visitor Single Sign On JSON Format

Visitor Single Sign-On (SSO) is represented as simple flat JSON objects with the following keys:

NameTypeDescription
isEnabledboolWhether visitor single sign-on (SSO) is enabled or not.
protocolTypestring"samlSso", "jwtSso"
signInUrlstringUrl for SAML sign-in.
logoutUrlstringUrl for SAML log-out.
artifactResolutionServiceUrlstringUrl for artifact resolution service.
samlCertificatestringSAML certificate, mandatory when type is SAML.
jwtLoginUrlstringUrl for JWT sign-in.
jwtCertificatestringJWT certificate, mandatory when type is JWT.
visitorSsoFieldMappingsvisitorSsoFieldMappings[]Reference to Visitor SSO Field Mapping.
visitorSsosvisitorSsos[]Reference to Campaign Visitor SSO.

Visitor SSO Field Mapping JSON Format:

NameTypeDescription
idguidId of the visitor sso field mapping.
idpAttributestringSSO attribute name from Idp.
comm100FieldstringThe Comm100 field name.

Campaign Visitor SSO JSON Format:

NameTypeDescription
campaignIdguidId of the campaign.
signInOptionstringAllowed values are "noSignIn", "signInOptional", "signInRequired".
isPreChatFormSkippedboolWhether pre-chat form is skipped or not.
ifOpenLoginPageInEmbeddedChatWindowboolWhether to open the login page in embedded chat window or not.
campaigncampaignReference to Campaign.

Get a single Visitor Single Sign On

GET livechat/visitorSsoConfig

  • Parameters:

NameTypeinRequiredDescription
includestringquerynoAllowed values are "visitorSsoFieldMapping", "campaignVisitorSso".
  • Response:

Visitor Single Sign On

  • 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

  • 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

  • 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:

NameTypeinRequiredDescription
isEnabledboolbodynoWhether visitor single sign-on (SSO) is enabled or not.
protocolTypestringbodyyes"samlSso", "jwtSso"
signInUrlstringbodyyesUrl for sign-in.
logoutUrlstringbodynoUrl for log-out.
artifactResolutionServiceUrlstringbodynoUrl for artifact resolution service.
samlCertificatestringbodynoSAML certificate, mandatory when type is SAML.
jwtLoginUrlstringbodynoUrl for JWT sign-in.
jwtCertificatestringbodyyesJWT certificate, mandatory when type is JWT.
visitorSsoFieldMappingsvisitorSsoFieldMappings[]bodynoAll the existing mapping should be included with this endpoint, otherwise the excluded ones will be deleted.
visitorSsosvisitorSsos[]bodynoReference to Campaign Visitor SSO.
  • Response:

Visitor Single Sign On

  • 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"
          }
      }
  ]
} 

Was this article helpful?

What's Next