1. A computer-implemented method for providing user credentials over a network to a remote computer application, the method comprising: storing user credentials for the remote computer application in a central repository that is accessible through the network; sending a request to a service to perform, on behalf of a user, a particular task involving the remote computer application; determining whether the service has been granted permission to act on behalf of the user with respect to the remote computer application; and when the service has permission to act on behalf of the user, using the service to retrieve the user's credentials for the remote computer application from the central repository and to supply the retrieved user credentials to the remote computer application.