Single Sign On Citrix Workspace App

Posted on  by admin

Single Sign ON is been one of the most significant feature in corporate IT environment. It allows users to launch provisioned apps and desktop without entering their credentials repetitively. Upon logging into Windows, the Citrix Receiver application starts in the background which also starts a process ssonsvr.exe. This Citrix Receiver Single Sign-On (SSO) process passes same credentials by which user is logged on the system to a Citrix Storefront. Based on the supplied credentials and its provisioned citrix apps and desktop resources, Citrix Storefront builds the icons of the published applications. Once application enumeration is completed, if user launches an application, the user will not be prompted to enter credentials again.

To achieve these result, few modification is required on the Storefront and locally installed Citrix Receiver.

  • Need to enable Domain pass-through and optionally User name and password authentication on StoreFront
  • Configuration of XML trust services on the Delivery Controller.
  • Install Citrix Receiver for Windows with Single Sign-on.

To achieve single sign-on to a web application, Citrix Workspace federates identity between the primary identity (used to sign into Citrix Workspace) and the secondary identity (used to sign into the web app). The SSO process for web application utilizes multiple approaches to be able to support a larger number of web applications. Citrix Workspace Enable Single Sign-on When enabled, single sign-on remembers your credentials for this device, so that you can connect to other Citrix applications without having to sign in each time. You should do this only if your IT administrator has instructed you to. This will take effect the next time you log on to this device. Citrix Workspace helps you unify all apps and data across your distributed IT architecture to provide single sign-on to all the applications and data your people need to be productive. Working with your existing infrastructure, Citrix Access Control consolidates multiple remote access solutions, like traditional VPNs or SSO. In Citrix Receiver for Windows Version 4.5, you can use Configuration Checker to diagnose the Single Sign-on configuration. Right-click the Citrix Receiver icon in the notification area and select Advanced Preferences Configuration Checke r. The Configuration Checker window appears. Select SSONChecker and click Run. Citrix Workspace App is the new way of accessing everything you need for work. Using just one app your users can access SaaS applications, on-site applications, cloud and on-site desktops and all their files (both locally and from cloud services like OneDrive).

On Your StoreFront:

Launch StoreFront Studio and navigate to Store. Then click on Manage Authentication methods > enable Domain pass-through.

On your Citrix Delivery Controller

Run the following PowerShell command as an administrator on the Delivery Controller:

asnp Citrix*

Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $True

Gpo

On the Local Computer:

  1. First download Citrix Receiver for Windows (CitrixReceiver.exe) from Citrix Downloads.
  2. Then log onto the client device with administrator privilege.
  3. You can install Citrix Receiver for Windows in two ways (Using GUI or Using Command Line)
Using the Graphical User Interface
  1. Double-click CitrixReceiver.exe.
  2. In the Citrix Receiver Installation wizard, select Enable Single Sign-on.


  3. Click Next.
  4. After the installation is complete, log off from the client device and log on again.
Using the Command Line Interface
  1. Open a command prompt as an administrator and change to the directory to where CitrixReceiver.exe is located.
  2. Run the following command to install Citrix Receiver for Windows with the Single Sign-on feature enabled:
    CitrixReceiver.exe /includeSSON /silent

If you want to install the citrix receiver if preconfigured Storefront Store URL : Use the following command line

CitrixReceiver.exe /noreboot /Silent /includeSSON enable_SSON=yes STORE0=”Store;https://test.xx.com/Citrix/Store/Discovery”

More Citrix Receiver command line switches can be found here

After the installation is complete, log off from the client machine and log on again. Launch the Task Manager to verify that the ssonsvr.exe process is running.

Users should now be able to log on to an existing Store (or configure a new Store) using Citrix Receiver for Windows without providing credentials.

SSO Overview

There are to ways you can use SSO in a Citrix 7.5+ environment using built-in Citrix technologies:

  1. SSO via Citrix Receiver for Web
  2. SSO via the Citrix Receiver client

Depending on which method you choose the prerequisites differ, however not by much. Below are the prerequisites that are required for either method, meaning it doesn’t matter which method you choose the same prerequisites exist:

  1. Citrx Receiver must be installed on the client device with the SSON component installed
  2. Receiver for Web website must be in the Local Intranet Zone
  3. If using the Trusted Sites zone instead, Automatic logon with current username and password must be set in Trusted Sites zone (I will talk no further about using the Trusted Sites zone)
  4. Domain pass-through must be enabled on Receiver for Web via StoreFront console
  5. Requests sent to the XML service port on your DDCs must be trusted

Now below are the remaining unique prerequisites/differences for each method.

Receiver for Web

  1. Always use Receiver for HTML5 must not be selected in StoreFront
  2. Internet Explorer must be used when accessing Receiver for Web
  3. Group Policies do not need created for Receiver for Web SSO
  4. The User Name and Password Receiver for Web authentication method should be disabled to avoid extra prompts which will later be explained

Receiver client

Citrix Workspace App Single Sign On

  1. Group Policies do need created for Receiver client SSO

Installing and configuring SSO (Receiver for Web):

  1. Citrix Receiver client must be installed on the end device. The SSO component is not required so a simple GUI or command line interface command can be used to install the client.
  2. Using StoreFront MMC, enable Domain pass-through on Receiver for Web
  3. Using StoreFront MMC, disable User Name and Password authentication against Receiver for Web
  4. Launch Internet Explorer on logon by placing a shortcut in the Startup folder C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup. This should be done on the base/gold image
  5. Set Internet Explorers homepage to the Receiver for Web website address
  6. Create a GPO linked to all machnes participating in Citrix Receiver for Web SSO or use an existing policy
  7. Using the above created policy, edit the setting Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Internet Explorer -> Internet Control Panel to include the Receiver for Web website address in the Local Intranet zone

Decision: To get rid of the first-time logon prompt which will be shown later in this post, you need to disable User Name and Password authentication. Doing so partly reduces functionality:

  1. Non domain machines cannot authenticate to this Receiver for Web website
  2. Usrs can not log on using a set of credentials different than those they used to log on to their domain joined client device

Keeping the above restrictions in mind, a decision must be made to bring true SSO experience at the expense of reduced authentication ability, or accept that a prompt will be given to users on first log on to Receiver for Web in favour of keeping maximum authentication abilities. It is also possible to create a seperate Receiver for Web website for SSO users only, or create sites for non-SSO participants. This means you can configure seperate devices/users to point to specific Receiver for Web websites based on authentication needs.

Installing and configuring SSO (Receiver client)

  1. Citrix Receiver client must be installed on the end-device. The SSO component is required so a simple GUI or command line interface command can be used to install the client. A command line install if preferred because you can automate Citrix Store configuration. The following command at minimum is required to install Receiver client: CitrixReceiver.exe /includeSSON (tested on Receiver 4.3)
  2. Using StoreFront MMC, enable Domain pass-through on Receiver for Web
  3. Download and copy receiver.admx and receiver.adml template files to the PolicyDefinitions folder on a Domain Controller
  4. Create a GPO linked to all machines participating in Citrix Receiver client SSO or use an existing one
  5. Using the above created policy, edit the setting Computer Configuration -> Policies -> Administrative Templates -> Citrix -> Components -> Citrix Receiver -> Local User Name and Password enabling Enable pass-through authentication
  6. Using the above created policy, edit the setting Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Internet Explorer -> Internet Control Panel to include the Receiver for Web website address in the Local Intranet zone

The Receiver for Web logon prompt

Now that we have discussed the prompt and the advantages/disadvantages with enabling/disabling this feature, here below is a picture of what the prompt actually is and looks like.

When you have enabled Domain pass-through and User name and Password authentication on Receiver for Web, the first time a user logs on they get this prompt to either log on using the account used to sign on to the computer or to switch to the username and password logon screen. The user name and password logon screen gives the user the ability to authenticate with any set of credentials they have. Since I mention “first time” above, first time means the first time a user logs on to Receiver for Web on a device that they have never used before. The next time they use the same machine the same prompt does not appear. If you log off, you may also get the below message.

If the device is a thin-client with a write-based restrictive filter, the profiles may not be stored and as such the user is using that machine for the first time every time as far as the device is concerned after said device is restarted. This reduces the SSO experience, as the prompt requires manual input. Users wanting true SSO experience must disable User name and Password authentication. User name and Password authentication conflicts with SSO and is not required. A seperate Receiver for Web site must be created for users who do require the User name and Password authentication method. User name and Password is enabled by default when you install Citrix StoreFront.

The User Name and Password authentication method

Configuring SSO for Receiver client

Now that we have covered the theory, I will walk through configuring SSO for Receiver client. I won’t go through SSO with Receiver for Web but it is just as similar to configure.

Install Citrix Receiver on the client device with SSON component included. I am using a command to install. The command automatically configures the store.

You could also enable SSO by checking the box on newer versions (4.3+) if you prefer however you will have to manually configure the store or use the Receiver ADMX templates with Group Policy.

Insert the Receiver for Web site in the Local Intranet Zone. If using the Trusted Sites zone instead, Automatic logon with current username and password must be set in the Trusted Sites zone. In most cases you will use the Local Intranet zone. This is best done via GPO.

Values:

  1. Intranet Zone = 1
  2. Trusted Sites = 2

If using the Trusted Sites zone, enable Automatic logon with current username and password.

Enable Domain pass-through on Receiver for Web via StoreFront console and remove other authentication method(s). Pass-through from NetScaler Gateway can be enabled, however User name and password should not.

On your DDCs requests sent to the XML service port on your DDCs must be trusted, so run the following command:

Configure Group Policy to enable pass-through authentication on Receiver. You will need to have imported the Receiver.admx and Receiver.adml files to the Group Policy Central Store.

Outcome

Now if you open the Citrix Receiver client on your device, it should not ask to configure the store or ask for credentials. Instead, you will be passed through to StoreFront and presented with your subscribed applications and desktops.

Be aware after installing Receiver you must log off/on to your client device for the SSONSVR.EXE process to start and capture your credentials.

Additional feature – Desktop Lock

You can also turn your PC/Thin Clients in to kiosk type machines using what is called Citrix Desktop Lock. When a user logs on to their device the Citrix desktop automatically launches in full-screen mode and if the user disconnects or logs off the Citrix desktop the user is automatically logged off the local device. This is great in a VDI environment if you want to bring a true no-touch experience to your users. You can download Desktop Lock from the Citrix website.

Once downloaded launch the Citrix Desktop Lock software on an SSON configured client device.

Click Close once the software has installed.

Restart the client device.

Citrix Workspace App Single Sign On Registry

Now log on as a standard user who has one Citrix desktop assigned to them.

Desktop Lock automatically launches the desktop in full screen.

The Desktop Viewer toolbar has some missing buttons to prevent the user from minimizing the desktop for example.

Citrix

When the user disonnects or logs off, the local client device is also logged off. This helps secure the device and not leave any unattended workstations logged on.

If you need to control the local device yourself, log on as a user who is a Local Administrator of that machine and you will be presented with the below prompt.

After clicking OK you can access the local desktop to perform management tasks.

Troubleshooting SSO

Citrix Workspace App Enable Single Sign On

  • The SSONSVR.EXE process must be running on your client device
  • Ensure you have met all the prerequisites stated above for your SSO method (Receiver client/Receiver for Web)
  • Using an SSO configured device go to https://yourstorefrontserver.domain.com/citrix/storename/domainpassthroughauth/test.aspx. The web address I would go to is https://storefront.citrixpro.co.uk/citrix/cpsweb/domainpassthroughauth/test.aspx and if SSO is correctly configured you should see results similar to the below. (Included in StoreFront 2.5)
  • Restart the client device (requirement after Receiver install with SSON)

Citrix Single Sign On Setup

Receiver 4.5 (released September 2016):

New with Citrix Receiver for Windows 4.5 is the Configuration Checker tool which performs various checks against the prerequisites needed for SSO to work. Open Advanced Preferences by right-clicking the Receiver icon in the system tray. Click Configuration Checker.

Tick SSONChecker and click Run.

Citrix Receiver Single Sign On

As you can see a number of checks have been performed with one failure.

Looking closer at the failure alert we can see the Single Sign-on process is not running. After installing the SSON components you only need to log off/on for the process to run. In this case, I deliberately left out the SSON component so it is not installed at all. Click on Save Report to save the results to .TXT.

Heres a look at the results .TXT file.

Citrix Workspace Single Sign On

I’ve now ran the SSON Checker on a machine that is properly configured for SSO. As expected, all checks have passed.

Receiver SSON logging:

You can enable SSON logging which may be help in identifying an issue.

Add a the following values to HKLMSoftwareCitrixInstallSSON (32bit) or HKLMSoftwareWOW6432NodeCitrixInstallSSON (64bit).

REG_SZ DebugEnabled = true

REG_SZ LogPath = Path location

When you log off and on again log files will be created relating to SSON.

The trace-pnsson.log file shows information such as the credentials captured and packaged by SSON.