Cloud computing is a delivery model of computing as a service rather than a product. Services (i.e., resources, software and data) are provided to computers and other devices as utilities over a network. The services themselves are referred as Cloud services. Applications that use these cloud services by means of APIs are referred to as Cloud-based applications. Cloud-based applications are designed in a distributed and multi-party environment: they consume a multitude of third-party Cloud services and rely on infrastructures and/or platforms hosted in external data centers. The multi-party and distributed nature of cloud-based applications requires particular care with respect to security; the authentication and authorisation of users, as well as the confidentiality and integrity of their data.