Universal Web Connector

Overview

The Universal Web Connector (UWC) is designed to seamlessly integrate with technologies offering virtual access to resources. It simplifies tasks such as automating login processes, selecting resources, and launching retrieved connection files (in scenarios where a downloaded file is used, e.g. Citrix and AWS), or executing applications (in scenarios where the relevant app is invoked directly, e.g. VMware Horizon). This is achieved through customizable connection scripts, which can be easily adjusted to accommodate evolving UI designs on web pages over time.

The UWC operates as an independent process, accessible via the Login Enterprise's Custom Connector functionality. It is self-contained, bundling all necessary runtimes, frameworks, and the Login Enterprise engine within the connector itself. The only requirement is the installation of UWC on the local machine for launcher detection and utilization.

Launchers running the UWC can facilitate concurrent user sessions, similar to the functionality found in standard built-in Connectors. However, it's important to note that certain engine scripts may restrict the number of engines that can run concurrently. This limitation is implemented to prevent conflicts arising from simultaneous interactions, particularly in cases where application windows are not uniquely identifiable for each user session.

By default, the UWC has a timeout period of 5 minutes, adjustable using the --timeout argument. In the event of a timeout, crash, or exception, UWC performs automatic cleanup, ensuring no leftover artifacts or lingering child processes remain.

Note that since the UWC relies on a Custom Connector, it may not be able to access all the information available in native connectors. In the event of a failed connection, the only indication will be the engine not establishing a connection after 5 minutes.

When to use UWC

The UWC is primarily intended for connection scenarios not supported by built-in connectors, such as NetScaler, Storefront, VMware Horizon, and RDS.

In certain instances, customizations made to platforms such as NetScaler, StoreFront, VMware Horizon, and others may require the use of the UWC. These customizations, including but not limited to configurations related to Time-Based One-Time Password (TOTP) authentication, may necessitate the utilization of the UWC for seamless integration. To learn about support for specific scenarios, please contact our support team.

The script files for the UWC may differ slightly from the script files used for the preview version of this connector, also known as the Browser Connector. For assistance in converting your preview version scripts to work with the UWC, contact our support at support@loginvsi.com.

Downloading and installing UWC

The UWC can be easily installed on Windows operating systems using an MSI installer. This installer allows you to install the UWC application or update an existing installation.

The MSI installer can update the UWC to newer versions. However, if you need to revert to an older version, you need to uninstall the current version before using the MSI installer to install the older version.

To download and install the UWC:

1. In your Login Enterprise sidebar menu, navigate to Configuration > Launchers.

Frame 30.png


2. In Launchers, find Download Universal Web Connectric (UWC), and click Download file on the right.

Frame 88.png

3. Once downloaded, extract the complete zip file to the folder.

4. Start the UWC installation by running the MSI installer file, following the prompts.

By default, the UWC will install to:

C:\Program Files\Login VSI\Universal Web Connector\

Once installed, make modifications as necessary in the resulting Program Files directory, and then configure the Custom Connector.

Connector templates

To avoid potential difficulties with editing or updating scripts used by the UWC due to permissions restrictions, it's recommended to place the scripts in a location other than the protected 'C:\Program Files' folder. For a structured and compliant folder organization, we recommend the following format: C:\ProgramData\LoginVSI\UWC\Scripts. Each connection template should be stored within its dedicated subfolder within the 'Scripts' directory.

For example, if you have different connection templates for launching 'desktops' and 'apps,' each template and its associated scripts should be stored in its respective subfolder within 'Scripts.' This approach ensures clear organization and minimizes the risk of unintended interactions between scripts customized for different environments.

Connection scripts are executed by the UWC to automate actions related to accessing, selecting, and launching virtualized resources. These actions may include clicking buttons and entering text. Connection scripts are primarily written in JavaScript, with the capability to execute PowerShell commands.

To use connection scripts with the UWC, you need to download, unzip, and place them in a designated folder. This folder path is then passed to the connector via the '--scripts-path' argument.

Each connection script begins with a wildcarded path, such as:

//Path=/logon/*

This path acts as a trigger for script execution. For example, the above path corresponds to a web page accessed during the 'Logon' phase of the connection. When the UWC encounters a web page URL containing '/logon/', the associated script will execute.

Arguments

By default, the UWC requires several arguments for the proper execution of a connection. An argument refers to a piece of information provided to the UWC when executing a connection. These arguments include both required and optional parameters.

Required:

  • URL: Enter the web page address that UWC will open in its WebView window.
  • Scripts Path: Provide the location of the Connection Script folder (it's recommended to use an absolute path).

Optional:

  • Username: If needed, input the username of your account.
  • Password: If required, input the password of your account.
  • Resource: Specify the name of the Desktop or Application from the Resource Catalog.
  • Ignore SSL: Toggle this option to bypass errors for self-signed, expired, or untrusted SSL certificates on websites.
  • Timeout: Set the duration in seconds after which the UWC application process will automatically end.

Feel free to include additional custom arguments as needed to create personalized scripts.

Managing static URL scenarios

When using the UWC, you may encounter challenges when the URL of the web page remains constant throughout the interaction. In such cases, all steps of the interaction must be contained within the same script file. This may require significant customization to ensure seamless execution of the desired actions.

To address this challenge, you should carefully plan and organize your script files to accommodate all necessary steps within a single file. Consider breaking down complex interactions into smaller, manageable tasks, and use conditional logic or loops where appropriate to control the flow of execution.

Additionally, leverage the capabilities of the UWC scripting language, such as JavaScript and PowerShell, to create dynamic and flexible scripts that can adapt to various scenarios. Regular testing and iteration may be necessary to refine and optimize the scripts for optimal performance.

Configuring test to use UWC

Before configuring the UWC Connector in the Login Enterprise, we recommend testing the configuration from the Launcher. This can be completed with the following PowerShell code:

$url = 'https://myworkspace.com/'
$scriptsPath = 'C:\Program Files\Login VSI\Universal Web Connector\Scripts'

# Either of the following options can be used
& "C:\Program Files\Login VSI\Universal Web Connector\UniversalWebConnector.exe" --url $url --scripts-path $scriptsPath
Start-Process -FilePath "C:\Program Files\Login VSI\Universal Web Connector\UniversalWebConnector.exe" -ArgumentList "--url $url --scripts-path $scriptsPath"

To allow the UWC to run through a set of scripts, you can use the blank test harness with the following arguments:

$username = ''
$password = ''
$resource = ''
$url = ""
$scriptPath = ""
$TeeFilepath = "c:\temp\Test.log"

& "C:\Program Files\Login VSI\Universal Web Connector\UniversalWebConnector.exe" --url "$url" --scripts-path "$scriptpath" --resource "$resource" --username "$username" --password "$password" --timeout 0 | Tee-Object -FilePath $TeeFilepath

Once the desired connection has been successfully executed, you can configure the UWC in the Login Enterprise.

Configuring UWC in Login Enterprise

UWC can be used as a Custom Connector when configuring a Continuous, Load and Application test. To do this:

1. In the Login Enterprise sidebar menu, navigate to Configuration > Manage tests, and select the needed test from the dropdown.

Frame 12 (1).png

2. On the top right, click the green “+” to create a new test.

3. Give your test a name and, optionally, a description.

4. In Connector, select Custom Connector, and specify the following in Connector settings:

UWC_Appliance.png

Running UWC as a Custom Connector

To run the UWC as a Custom Connector, use the following commands within the 'Connection command line' field.

Without Placeholders:

"C:\Program Files\Login VSI\Universal Web Connector\UniversalWebConnector.exe" --url "https://myworkspace.com/" --scripts-path "C:\Program Files\Login VSI\Universal Web Connector\Scripts" --resource "SBC Desktop" --username "loginent0001" --password "pass**word"

With placeholders (for standard use within Virtual Appliance):

"C:\Program Files\Login VSI\Universal Web Connector\UniversalWebConnector.exe" --url "{host}" --scripts-path "C:\Program Files\Login VSI\Universal Web Connector\Scripts" --resource "{resource}" --username "{username}" --password "{password}"

With account custom fields:

"C:\Program Files\Login VSI\Universal Web Connector\UniversalWebConnector.exe" --url "{host}" --scripts-path "C:\Program Files\Login VSI\Universal Web Connector\Scripts" --resource "{resource}" --username "{custom1}" --password "{custom2}" --custom3 "{custom3}"

With custom arguments:

"C:\Program Files\Login VSI\Universal Web Connector\UniversalWebConnector.exe" --url "{host}" --scripts-path "C:\Program Files\Login VSI\Universal Web Connector\Scripts" --resource "{resource}" --username "{username}" --password "{password}" --some-new-arg "some constant value" --some-new-arg2 "{custom1}"

After initiating a test with the UWC as the Custom Connector, the Launcher locates and activates the UWC process using the provided arguments. Upon launch, UWC employs connection scripts, defined by the --scripts-path argument, to establish a connection to the Digital Workspace, retrieve the connection file, and initiate a connection to the target machine by executing the retrieved file.

For script examples, contact our support at support@loginvsi.com.

Logging

If the Launcher encounters issues during the setup of the connection, such as being unable to locate the script location or access the website, all error messages are logged in the Launcher Logs, and the process will silently exit.

To access these logs, open the logs folder from the Launcher menu window:

Frame 89.png

Or navigate to the following path:

C:\Users<Launcher User>\AppData\Local\Temp\Login Enterprise\Launcher\Logs

Troubleshooting

For streamlined troubleshooting, the UWC generates error, warning, and informational messages, which are displayed in its dedicated console window. These messages include the sources of the messages, such as Dotnet, JavaScript, PowerShell, Login Enterprise Engine, and HTTP, providing valuable context for diagnosing issues.