[en] In recent years there has been a convergence in application according the specifics of the so-called cloud architecture, an alternative whose use is widely expanding thanks to the big flexibility offered in economic and computational fields. These systems make extensive use of certain APIs and the proper integration of the involved services and/or applications calls for an independent language. Here is where OAuth will play its role. OAuth is an emerging cloud security tecnology that covers the main security requirements, providing confidenciality, integrity and authentication when communicating with an API and accessing shared resources. OAuth 2.0 is an authorization framework specification that enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. The project is based on the meticulous research of the OAuth 2.0 standard specification by means of Scala programming language. In specific, these elements are used to fulfill the basic requirements in the general concern of software development in the current technological scenario. This document describes an OAuth 2.0 authorization provider research, analysis, design, implementation and validation process using Scala so it can be integrated in a real environment.

[es] En los últimos años se ha podido apreciar una convergencia en el desarrollo de nuevas aplicaciones que tienden a desarrollarse siguiendo la arquitectura "cloud", una alternativa cuyo uso se está expandiendo enormemente gracias a la gran flexibilidad que ofrece tanto en el ámbito económico como en el computacional. Este tipo de sistemas se construyen mediante una serie de servicios o aplicaciones que hacen un uso exhaustivo de un conjunto base de APIs. De este modo la correcta integración de todos esos elementos requiere un mecanismo con un lenguaje independiente a través del se coordina el flujo de información entre todos los elementos involucrados. Es aquí donde OAuth jugará un papel de gran importancia. OAuth es una tecnología emergente en el contexto de la seguridad en la nube, que cubre los principales requisitos de seguridad aportando confidencialidad, integridad y autenticación a la hora de mantener una comunicación con la API y acceder a los recursos que esta ofrece. OAuth 2.0 es la especificación de un marco de trabajo para la gestión de autorizaciones que permite a una aplicación de terceros obtener un permiso de acceso limitado a un servicio HTTP. Dicha concesión de acceso puede realizarse en nombre del recurso orquestando un proceso de aprobación entre éste y el servicio HTTP, o bien permitiendo a la aplicación obtener acceso en su propio nombre. El proyecto se basará en el estudio minucioso de la especificación del estándar de OAuth 2.0 y en el aprendizaje del lenguaje de programación Scala, entre otras herramientas, de forma que se cumplan los requisitos para poder empezar el proceso de desarrollo del software. Este documento describe cómo se ha llevado a cabo el estudio, análisis, diseño, implementación y validación de un proveedor de autorizaciones OAuth 2.0 en Scala para su posterior integración en un entorno real.