A method for performing a single sign on by an intermediary device for a remote desktop session of a client, the method comprising: authenticating, by a device intermediary to a client and a server, user credentials of a user accessing the server via the client; receiving, by the device via a client connection to the client and responsive to the user selecting a link to a remote desktop host on a homepage provided by the device, a request from the client to access the remote desktop host of the server; generating, by the device, remote desktop protocol content for a remote desktop session, the remote desktop protocol content including a security token that is valid for a pre-determined time period, the remote desktop protocol content specifying that the server is to connect to the device; transmitting, by the device via the client connection to the client, a response to the request from the client, the response including the remote desktop protocol content generated by the device with the security token; receiving, by the device, from the client, a second request to launch the remote desktop host, the second request including the remote desktop protocol content with the security token; switching, by the device responsive to validating the security token, the client connection between the client and the device to a first secure connection; establishing, by the device, a second secure connection with the remote desktop host using session credentials of the device; communicating, by the device, the user credentials via the second secure connection for acceptance by the remote desktop host; and starting, by the device, a remote desktop session with the remote desktop host using the security token. authenticating, by a device intermediary to a client and a server, user credentials of a user accessing the server via the client; receiving, by the device via a client connection to the client and responsive to the user selecting a link to a remote desktop host on a homepage provided by the device, a request from the client to access the remote desktop host of the server; generating, by the device, remote desktop protocol content for a remote desktop session, the remote desktop protocol content including a security token that is valid for a pre-determined time period, the remote desktop protocol content specifying that the server is to connect to the device; transmitting, by the device via the client connection to the client, a response to the request from the client, the response including the remote desktop protocol content generated by the device with the security token; receiving, by the device, from the client, a second request to launch the remote desktop host, the second request including the remote desktop protocol content with the security token; switching, by the device responsive to validating the security token, the client connection between the client and the device to a first secure connection; establishing, by the device, a second secure connection with the remote desktop host using session credentials of the device; communicating, by the device, the user credentials via the second secure connection for acceptance by the remote desktop host; and starting, by the device, a remote desktop session with the remote desktop host using the security token.