PTYOC - Integración del protocolo OAuth con el Servicio de Identidad de RedIRIS


Este proyecto tiene como objeto explorar la posibilidad de integrar el Servicio de Identidad de RedIRIS con el protocolo OAuth, al igual que interacciona actualmente con otros protocolos como OpenID o PAPI.

OAuth permite a una aplicación cliente acceder y procesar los recursos de un usuario en su nombre, siempre y cuando el propietario del recurso haya dado autorización para ello.

La idea por la cual se veía la necesidad de realizar este estudio era que OAuth ofrece ciertas ventajas de las que el SIR puede beneficiarse, como la flexibilidad del protocolo en cuanto a configuración, la facilidad de uso y de implantación por parte de un cliente y elementos de seguridad que establece, ya que evita que la aplicación cliente tenga credenciales de los usuarios. Además permite incorporar aplicaciones personalizadas a los servicios ofrecidos por las instituciones.

Como primer caso de uso para explorar este funcionamiento, se decidió implementar una aplicación cliente que permitiera acceder de forma segura a la información relativa a la inscripción y registro de las Listas de distribución de RedIRIS.

Como solución a este caso de uso se realizó la implementación en código PHP de una aplicación cliente que tratara la información de las listas de correo, pero haciéndola genérica para que cualquier institución pudiera desplegar estas de forma transparente, sencilla, haciendo su uso casi transparente a la persona encargada de su despliegue. Además se codificó una aplicación servidora de recursos, que tratara las peticiones de las aplicaciones clientes, realizase la autorización y autenticación del usuario a los recursos y administrara el acceso a los recursos que requería la aplicación cliente. Además fue necesario implementar una aplicación de registro de las aplicaciones clientes para que el el servidor de los recursos pudiera conocer qué aplicaciones son dignas de confianza.

Este caso de uso inicial se realizó en la versión 1.0a del protocolo OAuth, pero al ver que ésta se quedaba obsoleta y que nuevas versiones y extensiones del protocolo ofrecían más posibilidades al SIR, se decidió realizar una librería en PHP de la nueva versión de oauth, OAuth2, la cual hemos denominado OAuth2lib.

La segunda versión del protocolo OAuth se encuentra actualmente en draft en la organización estandarizadora IETF y nos ofrece una modificación importante a la versión inicial del protocolo, ya que permite que la autorización para acceder a los recursos no tenga que realizarse directamente con el usuario, si no que se puede delegar en un Servidor de Autorización. Este procedimiento nos permite utilizar aserciones tales como PAPI o SAML, por lo que la perspectiva de integración con el SIR se ve ampliada exponencialmente.

Más Información

Puede encontrar más información sobre este proyecto en