To set up single sign-on (SSO), you must perform some configuration steps.

The Horizon single sign-on module communicates with PAM (pluggable authentication modules) in Linux and does not depend on the method that you use to integrate Linux with Active Directory (AD). Horizon SSO is known to work with the OpenLDAP and Winbind solutions that integrate Linux with AD.

By default, SSO assumes that AD's sAMAccountName attribute is the login ID. To ensure that the correct login ID is used for SSO, you must perform the following configuration steps if you use the OpenLDAP or Winbind solution:

  • For OpenLDAP, set sAMAccountName to uid.
  • For Winbind, add the following statement to the configuration file /etc/samba/smb.conf.
    winbind use default domain = true
If users must specify the domain name to log in, you must set the SSOUserFormat option on the Linux desktop. For more information, see Setting Options in Configuration Files on a Linux Desktop. SSO always uses the short domain name in upper case. For example, if the domain is mydomain.com, SSO uses MYDOMAIN as the domain name. Therefore, you must specify MYDOMAIN when setting the SSOUserFormat option. Regarding short and long domain names, the following rules apply:
  • For OpenLDAP, you must use short domain names in upper case.
  • Winbind supports both long and short domain names.

AD supports special characters in login names, but Linux does not. Therefore, do not use special characters in login names when setting up SSO.

In AD, if a user's UserPrincipalName (UPN) attribute and sAMAccount attribute do not match, and the user logs in with the UPN, SSO fails. For example, if you have a user, juser in AD mycompany.com, but the user's UPN is set to juser123@mycompany.com instead of juser@mycompany.com, SSO fails. The workaround is for the user to log in using the name that is stored in sAMAccount. For example, juser.

Horizon 7 does not require the user name to be case-sensitive. You must ensure that the Linux operating system can handle case-insensitive user names.
  • For Winbind, the user name is case-insensitive by default.
  • For OpenLDAP, Ubuntu uses NSCD to authenticate users and is case-insensitive by default. RHEL and CentOS use SSSD to authenticate users and the default is case-sensitive. To change the setting, edit the file /etc/sssd/sssd.conf and add the following line in the [domain/default] section:
    case_sensitive = false

If your Linux desktop has multiple desktop environments installed on it, refer to Desktop Environment to select the desktop environment to use with SSO.