Creating a One-Time URL
The VirtualUI Server processes a One-Time URL creation request in the form of an http(s) request, as follows:
serverurl + "/ws/oturl/get?apikey=" + apikey + "&accesskey=" + accesskey +
"&virtualpath=" + virtualpath
"&userid=" + userid + "&password=" + password +
"&customdata=" + customData +
"&plen=" + passlen + "&expires=" + expires
"&arguments=" + arguments ,
VirtualUI Server address (protocol, domain and port)
VirtualUI installation [API] key. Find this information in Thinfinity.VirtualUI.Server.ini at C:\ProgramData\Cybele Software\Thinfinity\VirtualUI
required if not using virtualpath
Identifies the application that will be run. Complete this parameter with the 'access key' parameter found in the application’s profile in the VirtualUI Server Manager.
required if not using accesskey
Uses the VirtualPath of the application, configured in the application profile editor.
A valid user that meets the criteria set in the application profile’s 'Permission' tab.
The password of the user specified in the 'userid' parameter.
Use this field to send any information you may need to make available to the application. This is the right place to pass sign-on credentials. This information will be accessible in the application through the BrowserInfo.CustomData property.
Length of the passcode to be returned.
Ticket expiration time, in minutes.
Arguments passed to the application.
Note: The user indicated in the 'userid' parameter is a user validated within VirtualUI to access the application. This is an Active Directory user that was either added individually, or as part of a group of users in the 'Permissions' tab of the profile that will be accessed. In a regular non-one-time-URL implementation, the end user would authenticate by providing these credentials. However, when using a one-time-URL, this information is used internally by the application and the user can be authenticated somehow else.
If the request is unsuccessful, the following HTTP codes can be received:
400: Invalid parameters
401: Userid/password invalid
If the request is successful, the HTTP call returns a 200 HTTP status code, and a JSON consisting of two fields:
With this information, the backend can build the final URL, following this format:
Here's an example that uses the JSON shown above: