Single Sign-On and Webex Control Hub

Single sign-on (SSO) is a session or user authentication process that permits a user to provide credentials to access one or more applications. The process authenticates users for all the applications that they are given rights to. It eliminates further prompts when users switch applications during a particular session.

The Security Assertion Markup Language (SAML 2.0) Federation Protocol is used to provide SSO authentication between the Cisco Webex cloud and your identity provider (IdP).

Profiles

Cisco Webex Teams only supports the web browser SSO profile. In the web browser SSO profile, Cisco Webex Teams supports the following bindings:

  • SP initiated POST -> POST binding

  • SP initiated REDIRECT -> POST binding

NameID Format

The SAML 2.0 Protocol supports several NameID formats for communicating about a specific user. Cisco Webex Teams supports the following NameID formats.

  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient

  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

In the metadata that you load from your IdP, the first entry is configured for use in Cisco Webex.

SingleLogout

Cisco Webex Teams supports the single logout profile. In the Cisco Webex Teams app, a user can sign out of the application, which uses the SAML single logout protocol to end the session and confirm that sign out with your IdP. Ensure your IdP is configured for SingleLogout.

Integrate Cisco Webex Control Hub with ADFS


The configuration guides show a specific example for SSO integration but do not provide exhaustive configuration for all possibilities. For example, the integration steps for nameid-format urn:oasis:names:tc:SAML:2.0:nameid-format:transient are documented. Other formats such as urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified or urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress will work for SSO integration but are outside the scope of our documentation.

Set up this integration for users in your Cisco Webex organization (including Cisco Webex Teams, Cisco Webex Meetings, and other services administered in Cisco Webex Control Hub). If your Webex site is integrated in Cisco Webex Control Hub, the Webex site inherits the user management. If you can't access Cisco Webex Meetings in this way and it is not managed in Cisco Webex Control Hub, you must do a separate integration to enable SSO for Cisco Webex Meetings. (See Configure Single Sign-On for Webex for more information in SSO integration in Site Administration.)

Depending on what is configured in the Authentication mechanisms in ADFS, Integrated Windows Authentication (IWA) can be enabled by default. If enabled, applications that are launched through Windows (such as Webex Teams and Cisco Directory Connector) authenticate as the user who's signed in, regardless of what email address is entered during the initial email prompt.

Download the Cisco Webex Metadata to your Local System

1

From the customer view in https://admin.webex.com, go to Settings, and then scroll to Authentication.

2

Click Modify, click Integrate a 3rd-party identity provider. (Advanced), and then click Next.

3

Download the metadata file.

The Cisco Webex metadata filename is idb-meta-<org-ID>-SP.xml.

Install Cisco Webex Metadata in ADFS

Before you begin

Cisco Webex Control Hub supports ADFS 2.x or later.

Windows 2008 R2 only includes ADFS 1.0. You must install a minimum of ADFS 2.x from Microsoft.

For SSO and Cisco Webex services, identity providers (IdPs) must conform to the following SAML 2.0 specification:

  • Set the NameID Format attribute to urn:oasis:names:tc:SAML:2.0:nameid-format:transient

  • Configure a claim on the IdP to include the uid attribute name with a value that is mapped to the attribute that is chosen in Cisco Directory Connector or the user attribute that matches the one that is chosen in the Cisco Webex identity service. (This attribute could be E-mail-Addresses or User-Principal-Name, for example.) See the custom attribute information in https://www.cisco.com/go/hybrid-services-directory for guidance.

1

Sign in to the ADFS server with administrator permissions.

2

Open the ADFS Management console and browse to Trust Relationships > Relying Party Trusts > Add Relying Party Trust.

3

From the Add Relying Party Trust Wizard window, select Start.

4

For Select Data Source select Import data about the relying party from a file, browse to the Cisco Webex Control Hub Metadata file that you downloaded, and select Next.

5

For Specify Display Name, create a display name for this relying party trust such as Cisco Webex and select Next.

6

For Choose Issuance Authorization Rules, select Permit all users to access this relying party, and select Next.

7

For Ready to Add Trust, select Next and finish adding the relying trust to ADFS.

Create Claim Rules to Allow Authentication from Cisco Webex

1

In the main ADFS pane, select the trust relationship that you created, and then select Edit Claim Rules. On the Issuance Transform Rules tab, select Add Rule.

2

In the Choose Rule Type step, select Send LDAP Attributes as Claims, and then select Next.

  1. Enter a Claim Rule Name.

  2. Select Active Directory as the Attribute Store.

  3. Map the E-mail-Addresses LDAP attribute to the uid outgoing claim type.

    This rule tells ADFS which fields to map to Cisco Webex to identify a user. Spell the outgoing claim types exactly as shown.

  4. Save your changes.

3

Select Add Rule again, select Send Claims Using a Custom Rule, and then select Next.

This rule provides ADFS with the “spname qualifier” attribute that Cisco Webex does not otherwise provide.

  1. Open your text editor and copy the following content.

    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "URL1", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "URL2");

    Replace URL1 and URL2 in the text as follows:
    • URL1 is the entityID from the ADFS metadata file that you downloaded.

      For example, the following is a sample of what you see: <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://ad0a.identitylab20.ciscolabs.com/adfs/services/trust" ID="_55515dde-8147-4183-8a85-b704d26b5dba">

      Copy just the entityID from the ADFS metadata file and paste it in the text file to replace URL1

    • URL2 is on the first line in the Cisco Webex metadata file that you downloaded.

      For example, the following is a sample of what you see: <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID=" https://idbroker.webex.com/35a15b0a-0eg1-4029-9f63-a8c54df5df59">

      Copy just the entityID from the Cisco Webex metadata file and paste it in the text file to replace URL2.

  2. With the updated URLs, copy the rule from your text editor (starting at "c:") and paste it in to the custom rule box on your ADFS server.

    The completed rule should look like this:
  3. Select Finish to create the rule, and then exit the Edit Claim Rules window.

4

Select Relying Party Trust in the main window, and then select Properties in the right pane.

5

When the Properties window appears, browse to the Advanced tab, SHA-256 and then select OK to save your changes.

6

Browse to the following URL on the internal ADFS server to download the file: https://<AD_FS_Server>/FederationMetadata/2007-06/FederationMetadata.xml


 

You may need to right click on the page and view page source to get the properly formatted XML file.

7

Save the file to your local machine.

What to do next

You're ready to import the ADFS metadata back in to Cisco Webex from the management portal.

Import the IdP Metadata and Enable Single Sign-On After a Test

After you export the Cisco Webex metadata, configure your IdP, and download the IdP metadata to your local system, you are ready to import it into your Cisco Webex organization from Control Hub.

Before you begin

Do not test SSO integration from the identity provider (IdP) interface. We only support Service Provider-initiated (SP-initiated) flows, so you must use the Control Hub SSO test for this integration.

1

Choose one:

  • Return to the Cisco Webex Control Hub – Export Directory Metadata page in your browser, and then click Next.
  • If Control Hub is no longer open in the browser tab, from the customer view in https://admin.webex.com, go to Settings, scroll to Authentication, choose Integrate a third-party identity provider (Advanced), and then click Next on trusted metadata file page (because you already did it before).
2

On the Import IdP Metadata page, either drag and drop the IdP metadata file onto the page or use the file browser option to locate and upload the metadata file. Click Next.

If the metadata isn't signed, is signed with a self-signed certificate, or is signed with a private enterprise certificate authority (CA), we recommend that you use require certificate signed by a certificate authority in Metadata (more secure). If the certificate is self-signed, you need to choose the less secure option.

3

Select Test SSO Connection, and when a new browser tab opens, authenticate with the IdP by signing in.


 

If you receive an authentication error there may be a problem with the credentials. Check the username and password and try again.

A Webex Teams error usually means an issue with the SSO setup. In this case, walk through the steps again, especially the steps where you copy and paste the Control Hub metadata into the IdP setup.

4

Return to the Control Hub browser tab.

  • If the test was successful, select This test was successful. Enable Single Sign-On option and click Next.
  • If the test was unsuccessful, select This test was unsuccessful. Disable Single Sign-On option and click Next.

What to do next

You can follow the procedure in Suppress Automated Emails to disable emails that are sent to new Webex Teams users in your organization. The document also contains best practices for sending out communications to users in your organization.

ADFS Troubleshooting

ADFS Errors in Windows Logs

In the Windows logs, you may see an ADFS event log error code 364. The event details identify an invalid certificate. In these cases, the ADFS host is not allowed through the firewall on port 80 to validate the certificate.

Federation ID

The Federation ID is case-sensitive. If this is your organizational email address, enter it exactly as ADFS sends it, or Cisco Webex cannot find the matching user.

A custom claim rule cannot be written to normalize the LDAP attribute before it is sent.

Import your metadata from the ADFS server that you set up in your environment.

You can verify the URL if necessary by navigating to Service > Endpoints > Metadata > Type:Federation Metadata in ADFS Management.

Time Synchronization

Ensure that your ADFS server's system clock is synchronized to a reliable Internet time source that uses the Network Time Protocol (NTP). Use the following PowerShell command to skew the clock for the Cisco Webex Relying Party Trust relationship only.

Set-ADFSRelyingPartyTrust -TargetIdentifier "https://idbroker.webex.com/$ENTITY_ID_HEX_VALUE" -NotBeforeSkew 3

The hexadecimal value is unique for your environment. Please replace the value from the SP EntityDescriptor ID value in the Cisco Webex metadata file. For example:

<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID=" https://idbroker.webex.com/c0cb726f-a187-4ef6-b89d-46749e1abd7a">