Citrix Gateway consolidates remote access infrastructure to provide single sign-on (SSO) across all applications, whether they’re in a datacenter, a cloud, or delivered as SaaS. Users can access any app, from any device, through a single URL, and, for IT, it’s easy to deploy and simple to administer.

The portal is the first interaction point for end users. Citrix Gateway users are all across the world and get access via localized portals that are already supported in nine languages.

Citrix Gateway installations that serve the portal to VPN users include an option to select a portal theme to create a customized look and feel for the portal pages. You can select from a supplied set of themes or you can use a theme as a template to build a customized or branded portal.

You also have the option to create a custom end-user license agreement (EULA) that is presented to VPN users before they can sign in. The EULA feature supports locale-specific versions of a EULA, which are presented to users based on their web browsers locales.

Citrix Gateway supports four different portal themes:

  • Default
  • Greenbubble
  • X1
  • RfWebUI

In this blog post, I’ll walk you through the configuration of Gateway portal in different languages to support localized characters and custom strings for the RfWebUI theme. This enables users to access the pages they need in their language, improving the experience. The built-in portal themes include content for supported languages across different versions of Citrix Gateway, as shown here:

Version Languages supported
12.0 EN,DE,ES,FR,JA
12.1 EN,DE,ES,FR,JA,ZH-CN
13.0 EN,DE,ES,FR,JA,ZH-CN,NL,IT,PT-BR

You can complete the portal customization via CLI and GUI modes, and I’ll explain both below. Please note, we use the customization of portal pages in Japanese for this blog post, but you can follow the same steps for other supported languages.

RfwebUI Theme

The RfWebUI theme gives the Gateway login page a look that’s similar to Citrix StoreFront 3.0 and newer. RfWebUI is optimized for Unified Gateway (Clientless VPN) because it provides the exact same appearance and user experience as StoreFront 3.x.

Set the language in browser to English (US). (All the configurations are shown on a Chrome browser but will work for other browsers, as well.)

Bind the RfWebUI theme to Gateway vserver.

CLI:

bind vpn vserver <name> -portaltheme <name>

GUI:

  1. On the Configuration tab, navigate to Citrix Gateway and click Virtual Servers.
  2. Select the required Virtual server and click Edit.
  3. From the Advanced setting expand Portal Theme and click Edit
  4. Select RfWebUI theme from the list and click OK.

The Citrix Gateway end user login page looks like this for the RfWebUI theme (with nfactor auth enabled and no login schema bound):

Set the browser language to Japanese.

The Citrix Gateway end user login page would look like this for the RfWebUI theme in Japanese (with nfactor auth enabled and no login schema bound):

Please note, Citrix does not support customizations and cannot offer support in resolving the issue, beyond reverting to a default theme.

Portal customization for RfwebUI theme:

To customize the end user portal pages, in the Citrix Gateway Admin portal, create the custom theme using the RfWebUI theme template.

CLI:

add portaltheme <name> basetheme <name>

GUI:

  1. On the Configuration tab, navigate to Citrix Gateway and click Portal Themes.
  2. In the main details pane, click Add.
  3. Enter a name for the theme and select a template from the template menu (select RfWebUI theme), and then click OK.

At this point, you are presented with the first-time view of the portal theme editing window. Click OK to exit.

The portal theme customization page has four primary component panes for modifying a portal design: the Portal Theme pane; the Look and Feel pane; the Advanced Settings pane; and the Language pane.

The Citrix Gateway admin portal enables you to customize different web pages. I’ll show the customization for the Login page. (The same steps can be followed to customize other web pages available under Advanced settings.)

Login page customization for RfwebUI theme:

On the Citrix Gateway admin portal, navigate to Citrix Gateway → Portal theme. Select the Custom theme created in the earlier step and click Edit. Click on Edit in the Language pane. From the dropdown select Japanese (assuming customizing portal for Japanese language) and click OK.

From the Advanced Settings pane expand the Login page. All the labels that appear on the Login page are shown here. Edit the labels that needs to be changed and click OK.

Bind this newly created theme to the Gateway vserver.

CLI:

bind vpn vserver <name> -portaltheme <name>

GUI:

  1. On the Configuration tab, navigate to Citrix Gateway and click Virtual Servers.
  2. Select the required Virtual server and click Edit.
  3. From the Advanced setting expand Portal Theme and click Edit.
  4. Select the theme created in the earlier step from the list and click OK.

The end-user portal page will show the newly added labels.

Please note, the same steps can be followed to customize the Login page for the end user portal for other languages available in the Citrix Gateway.

nfactor Login Schema:

Login Schema is an XML file that provides the structure of forms-based authentication logon pages.

nFactor authentication enables you to have multiple authentication factors that are chained together, and each factor can have different Login Schema pages. Citrix ADC has many login Schema .xml files included under the path /flash/nsconfig/loginschema/LoginSchema.

To customize the portal page when login Schema is enabled, first you must decide which login Schema to use. Here I’m using the CustomDualAuth.xml login Schema created using DualAuth.xml login Schema, which is available by default in the Citrix ADC. Copy the CustomDualAuth.xml login Schema to path /flash/nsconfig/loginschema/LoginSchema. Now create the Login Schema using this .xml file.

CLI:

add authentication loginSchema <schema-profile-name> -authenticationSchema “/nsconfig/loginschema/LoginSchema/<xmlfilename>”

add authentication loginSchemapolicy <schema-name> -rule true -action <schema-profile-name>

GUI:

  1. On the Configuration tab, navigate to Security → AAA Application traffic → Login Schema.
  2. Click Add. Provide the name and click on Add Profile, name the profile, and select the new custom login Schema mentioned above (CustomDualAuth.xml).
  3. Under Rule enter True and click Create.

Bind this login Schema to the Authentication vserver.

CLI:

bind authentication vserver <vserver_name> -policy <schema-name>_by_url -priority 100 -gotoPriorityExpression END

GUI:

  1. On the Configuration tab, navigate to Security → AAA Application traffic → Virtual servers.
  2. Select the Authentication vserver and click Edit.
  3. From Advanced settings, expand the Login Schema and select the Login Schema created in earlier step.

In the English browser, the end-user login page will look like this:

In the Japanese browser, the end-user login page will look like this:

Portal Customization When Using Custom Login Schema

To customize the different fields available on the Login Schema page, edit the json files corresponding to each language (the Admin UI is not directly available).

Xml contents (CustomDualAuth.xml) of the Login Schema:

Copy the text present for the Label tag:

  1. Navigate to /var/netscaler/logon/themes/<custom_theme_name>
  2. Select ja.json(assuming customization for Japanese language) and add the required text in this format{“Actual_label1”:”Custom_text1”, “Actual_label2”:”Custom_text2”}

Example

{ “dualauth_please_log_on”:”ログオンしてください/Please log on”,”dualauth_user_name”:”ユーザー名/User name:”,”dualauth_password”:”パスワード/Password:”,”dualauth_passcode”:”パスワード2/Password2″,”dualauth_submit”:”送信/Submit”}

The end-user portal page, after adding the above contents in strings.ja.json, will look like this:

Please note, to customize the portal page for different languages when nfactor login Schema is used, follow the same steps and edit the corresponding json language files under path /var/netscaler/logon/themes/<custom_theme_name>.

For example, to customize for German, use the edit file strings.de.json.

Adding EULA for Different Languages

The VPN portal system provides the option to apply an end-user license agreement (EULA) to a portal configuration. As with the portal themes, users are served a language-specific EULA based on the locale reported by their web browser. In cases where a locale doesn’t match any of the supported languages, the default language served is English.

For each EULA, you can enter a custom message in each of the supported languages. Pre-translated content is not provided for EULA configurations like it is for the portal themes. If a user’s reported locale matches for a language where no EULA content is entered, the user is returned a blank page when they click the Terms & Conditions link in on the VPN login page.

To create the EULA,

CLI:

add vpn eula <name>

GUI:

  1. On the Configuration tab, navigate to Citrix Gateway à Resourcesà
  2. Click on Add. Enter the name for the EULA.
  3. Click create.

To add the contents for different languages for the EULA:

  1. On the Configuration tab, navigate to Citrix Gateway à Resourcesà
  2. Select the EULA created earlier and click on edit.
  3. Add the EULA contents for the required language and click on ok.

Bind this to Gateway vserver:

CLI:

bind vpn vserver <name> eula <name>

GUI:

  1. On the Configuration tab, navigate to Citrix Gateway → Virtual servers.
  2. Select the required virtual server and click on edit.
  3. From the Advanced settings pane expand the EULA. Select the previously created the EULA and bind it.

On the Japanese browser, the EULA contents added for the Japanese client are displayed when the user clicks on the EULA link from the login page.

The EULA contents in end user portal:

Please follow the same steps for adding the EULA for other supported languages in Citrix Gateway.

The configurations provided in this blog will help Citrix Gateway users to personalize the portal pages in various languages supporting multiple regions and, in turn, improve the user experience. For more information on customizing portal pages, see our documentation.