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
where:
| Parameter | Required | Description |
|---|---|---|
| serverurl | optional | VirtualUI Server address (protocol, domain and port) |
| apikey | required | VirtualUI installation [API] key. Find this information in Thinfinity.VirtualUI.Server.ini at C:\ProgramData\Cybele Software\Thinfinity\VirtualUI |
| accesskey | 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. |
| virtualpath | required if not using accesskey | Uses the VirtualPath of the application, configured in the application profile editor. |
| userid | optional | A valid user that meets the criteria set in the application profile’s Permission tab. |
| password | optional | The password of the user specified in the ‘userid’ parameter. |
| customdata | optional | 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. |
| plen | optional | Length of the passcode to be returned. |
| expires | optional | Ticket expiration time, in minutes. |
| arguments | optional | Arguments passed to the application. |
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:
{
"key": "LnJwsxGHp5d@6MHeiEswRdfxFCiIcLAUttRS$9FSUs-Utz3o",
"pass":"1U4KRLN0"
}
With this information, the backend can build the final URL, following this format:
http(s)://server-url/oturl.html?key=[accesskey]&pass=[passcode]
Here’s an example that uses the JSON shown above:
http(s)://server-url/oturl.html?key=LnJwsxGHp5d@6MHeiEswRdfxFCiIcLAUttRS$9FSUs-Utz3o&pass=1U4KRLN0