Appendix A – Integration with symlink use case

Actors:

User, User Portal, Spark Gateway

Preconditions:

User Portal:

Spark Gateway:

Basic flow:

  1. User login to User Portal.
  2. (optional) User Portal create a server on Spark Gateway with HTTP API if that server is not created yet:
    http://gatewayAddress/SERVER?id=serverId&displayName=Name&server=hostName&gatewayPwd=passwordInGateway.conf&...; Check if server exists: http://wthink/SERVER?action=list&gatewayPwd=21232f297a57a5a743894a0e4a801fc3&id=serverId;
    The gateway will return HTTP Status code 500 and {"error:": "not found"} in JSON format.
  3. User Portal create a symlink on Spark Gateway with HTTP API:
    'http://gatewayAddress/SYMLINK?symlink=symlinkId&server=existingServerId&validTime=8h&gatewayPwd=passwordInGateway.conf&parameters=' + encodeURIComponent('user=domainUser&pwd=domainPassword&domain=domain');
  4. User portal construct a connection link and display it to user:
    http://gateway/rdpdirect.html?symlink=symlinkId&displayName=nameOnBrowserTitle; or use the Spark View JS library directly to create a connection:
    var rdp = new svGlobal.Rdp(‘wss://gateway/RDP?symlink=symlinkId&..’, width, height, color);
  5. User click the link and connect.
  6. User portal delete the symlink when user exist or close the browser:
    http://gatewayAddress/SYMLINK?symlink=symlinkId&action=delete

Pros:

Cons:


Revision #3
Created 8 April 2022 11:45:52 by Guest
Updated 8 April 2022 11:49:16 by Guest