How to get an ICA file for an arbitrary site using Citrix Remote Browser Isolation
Use the Citrix Remote Browser Isolation service API to create an ICA file that helps you to launch a session.
The returned value is an ICA file. You can pass this ICA file to any Citrix Workspace app to launch the session. The session is launched by saving the ICA file data to a local file on the user’s endpoint and then invoking the installed Workspace app.
Prerequisites
customerId
bearer token
For more information on getting a customerId
and bearer token
, see the Get started with Citrix Cloud APIs section.
Create an ICA file using any REST API tool
Learn from the following example to create an ICA file using any REST API tool.
Request
POST https://session.browser.cloud.com/{customer}/singleuse/$launchIcafile HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: CwsAuth bearer=<token-from-call-to-trust>
{
"address": "https://www.citrix.com",
"name": "Citrix Remote Browser Isolation",
"geo": "wus",
"whitelist": "*.citrix.com:443",
"policies": {
"copyPaste": true,
"nonKiosk": true
}
}
<!--NeedCopy-->
Response
HTTP/1.1 200 OK
Content-Length: 89
Content-Type: application/json;charset=utf-8
{
"icaFile": "[Encoding]..."
}
<!--NeedCopy-->
Interpreting the request
The following JSON object is a fully defined launch request. All fields
except address
are optional and can be omitted if the default value is
acceptable.
{
"address": "https://www.citrix.com",
"name": "Citrix Remote Browser Isolation",
"geo": "wus",
"whitelist": "*:*",
"filterProfile": "None",
"userIdentity": {
"username": "user@example.com",
"clientIP": "198.51.100.1"
},
"policies": {
"copyPaste": true,
"printing": false,
"nonKiosk": false,
"disableRegionFailover": false,
"sessionIdleTimeout": 10,
"sessionIdleTimeoutWarning": 2
}
}
<!--NeedCopy-->
LaunchModel
Property Name | Type | Description |
---|---|---|
name | string | Title of the page in the client browser. |
address | string | [Required] Fully qualified URL to launch within the session. |
geo | string | Geographical region to host the remote session. The values are wus (West US), weurope (West Europe), seasia (Southeast Asia), and auto (Select a region based on the user’s IP address. The default value is wus . |
whitelist | string | List of sites that the hosted browser is allowed to contact. Entries are in the format hostname:port number , separated by newlines, with asterisks as wild cards. Default value is *:* , which allows all traffic. |
userIdentity | object | Describes the user launching the session. |
policies | object | Defines the features available within the session. |
UserIdentity
Property Name | Type | Description |
---|---|---|
username | string | Name of the user |
clientIP | string | IP address of the user. Required when the geo field is auto . |
Policies
Property Name | Type | Description |
---|---|---|
copyPaste | boolean | Enable clipboard operations between client and session. Disabled by default. |
printing | boolean | Enable printing of remote pages. Disabled by default. |
nonKiosk | boolean | Do not run the hosted browser in kiosk mode. Disabled by default. |
disableRegionFailover | boolean | Require the session to run in the requested geographical region, allowing the session to fail rather than be relocated to another region. By default, sessions are relocated to a functional region if the requested one is reporting an issue. |
sessionIdleTimeout | integer | Number of minutes to allow the session to remain idle before closing automatically. Default 10 minutes. |
sessionIdleTimeoutWarning | integer | Number of minutes before an automatic log-off to display a warning dialog to the user. Default two minutes. |
Interpreting the response
The response is a JSON object with a single property, icaFile
. Any
version of Citrix Workspace app can use this data to launch the requested
session, typically by saving it to a local file and then invoking an
installed copy of Workspace app.