A method for providing applications to a user of a client device, the method comprising: authenticating a user of a client device over a channel, wherein the authentication operation is performed using a directory service; presenting a plurality of applications in a graphical user interface, GUI, (2201, 2301) displayed by the client device, wherein the plurality of applications depends at least in part on the authentication, the client device, and the channel and wherein the plurality of applications includes at least one thin application; receiving a selection of one of the displayed applications from the user through the GUI (2201, 2301); launching the thin application, if the selection from the user through the GUI (2201, 2301) is for the thin application; characterised by: in the presenting step, the applications displayed in the GUI (2201, 2301) further include at least one software-as-a-service, SaaS, application; provisioning the SaaS application, if the selection from the user through the GUI (2201, 2301) is for the SaaS application, wherein the provisioning includes: automatically generating a random password for the user; automatically creating an account for the user with a provider of the SaaS application using the random password; associating the user to the account in an object store; automatically logging the user onto the account with the provider of the SaaS application using a single sign-on protocol according to the object store and connecting the user to the account so that the user can interact with the SaaS application. authenticating a user of a client device over a channel, wherein the authentication operation is performed using a directory service; presenting a plurality of applications in a graphical user interface, GUI, (2201, 2301) displayed by the client device, wherein the plurality of applications depends at least in part on the authentication, the client device, and the channel and wherein the plurality of applications includes at least one thin application; receiving a selection of one of the displayed applications from the user through the GUI (2201, 2301); launching the thin application, if the selection from the user through the GUI (2201, 2301) is for the thin application; characterised by: in the presenting step, the applications displayed in the GUI (2201, 2301) further include at least one software-as-a-service, SaaS, application; provisioning the SaaS application, if the selection from the user through the GUI (2201, 2301) is for the SaaS application, wherein the provisioning includes: automatically generating a random password for the user; automatically creating an account for the user with a provider of the SaaS application using the random password; associating the user to the account in an object store; automatically logging the user onto the account with the provider of the SaaS application using a single sign-on protocol according to the object store and connecting the user to the account so that the user can interact with the SaaS application. in the presenting step, the applications displayed in the GUI (2201, 2301) further include at least one software-as-a-service, SaaS, application; provisioning the SaaS application, if the selection from the user through the GUI (2201, 2301) is for the SaaS application, wherein the provisioning includes: automatically generating a random password for the user; automatically creating an account for the user with a provider of the SaaS application using the random password; associating the user to the account in an object store; automatically logging the user onto the account with the provider of the SaaS application using a single sign-on protocol according to the object store and connecting the user to the account so that the user can interact with the SaaS application. automatically generating a random password for the user; automatically creating an account for the user with a provider of the SaaS application using the random password; associating the user to the account in an object store; automatically logging the user onto the account with the provider of the SaaS application using a single sign-on protocol according to the object store and connecting the user to the account so that the user can interact with the SaaS application.