1. A method for sharing user credentials between multiple remote access client applications when connecting to a predefined set of remote resources, the method comprising: receiving from a user a request to launch a remote access client application; instantiating a credential repository, wherein the repository exposes programming interfaces for storing and deleting the user's authentication credentials and associates the authentication credentials with a list of resources available to the user, wherein different user authentication credentials are stored independently for different sets of resources, the list of resources available to the user being predetermined and received from a host providing a remote access user interface, the resources defined by a combination of a unique identifier and a list of trusted certificates for verifying authenticity of connection requests; validating the request to launch a remote access client application; attaching at least one of said authentication credentials to the request and sending the request to the remote access client application, wherein the at least one authentication credential can be used to authenticate the user and allow access to a resource associated with the remote access client application; and deleting the credential repository in response to receiving a logoff indication.