Hello there!

Need Help? We are right here!

miniOrange Support

Thanks for your inquiry.
One of our representatives will get in touch with you shortly via email.

Remote Desktop access for a user logged in to miniOrange using RemoteSpark

           1.ClientSide Javascript library

  • Remote spark provides cliest side Javascript library and methods to connect to rdp host.
  • URL is constucted using various required parameter like server ip, port, username, password(encoded) etc and various methods for opening rdp connection, close, event handling (onOpen(), onClose()), reporting etc are available.
  • There are 3 methods on the client side to create a RDP connection :
    Using url:
    var r = new svGlobal.Rdp("ws://gatewayAddress/RDP?server=ss&port=3389&...").
    Using object :
    var obj = {gateway: gatewayAddress, server: ss, port: 3389..};
    var r = new svGloabl.Rdp2(obj);
    Using cookie :
    var r = new svGloabl.Rdp2();
    In this case, the JS library will get the parameters form cookie automatically.

           2.Server Side Java API (Custom Plugin)

  • Plug-in must implement com.toremote.gateway.plugin.ManagerInterface.
  • With the plugin, we can do authentication integration, session querying and reporting, RemoteApp management and RDP virtual channel extensions, player integration, new websocket protocol handler etc
  • The main java class in the custom plugin must implement RemoteSpark'sManager Interface class
     i. e.g. public class SimpleManager implements ManagerInterface
     ii. It provides various plugins like UserPlugin, SessionPlugin, RDPSessionPlugin, PlayersPlugin, etc
     iii. It provides various event control methods like onLogin(), onHandshake()
     iv. The flow starts when rdp.run() is called from the client side which in turn called the onHandShake() method in the plugin class.
  • The configuration is stored in gateway.conf file which has all configuration related to users, servers, pluginName etc.
  • The way it works is : encrypt the url or parameters in our app (asp, jsp, php etc), decrypt the url in the plugin, both encryption and decryption happen on server side which is pretty safe.
  • Only send user session id in the url, in the plugin, we can verify the user session id, and dynamically generate the rdp server information in the plugin.
  • Sample plugin here : http://www.remotespark.com/Plugin.zip

  • Remote spark provides OAuth Integration.
  • miniOrange app needs to be registered before using OAuth integration
  • After registration, client secret key and client id would be provided which would be configured in the oauth2.json file.
  • The location of oauth2.json file would be configured in gateway.conf file in the custom plugin.
    sample oauth2.json file :
        "providers" : [{
              "name" : "Google",
              " client_id" : "t2r66k1ms3hpoi3k1e2g7l2adlarau8s.apps.googleusercontent.com",
              "client_secret" : "-D-nhxWn2E97tZWWLg5IQ6Ak",
              "request_uri" : "https://accounts.google.com/o/oauth2/auth",
              "redirect_uri" : "http://www.mygateway.com/oauth2callback",
              "access_token_uri": "https://accounts.google.com/o/oauth2/token",
              "scope": "openid email"