CAS son las siglas de “Central Authentication Service” y es el software utilizado por la Universidad de Murcia para proporcionar acceso único autenticado (SSO ó Single Sign On) a las diferentes aplicaciones. En el Área de Tecnologías de la Información y las Comunicaciones Aplicadas (ÁTICA) de la Universidad de Murcia hemos desarrollado un componente para proporcionar un acceso único autenticado a las diferentes aplicaciones móviles que estamos desarrollando.

Las aplicaciones móviles que quieran hacer uso de la autenticación móvil CAS no tienen que preocuparse del protocolo CAS, ni del intercambio de mensajes con el servidor de autenticación, simplemente distribuirse la librería CasMovil. Actualmente disponemos de liberías para Android y iPhone.

 

REQUISITOS PARA UTILIZAR EL CAS MÓVIL

Para que una aplicación móvil pueda usar el componente CAS móvil es necesario que la aplicación web de la que hace uso esté dada de alta en el Servidor CAS. El alta de una aplicación web para su uso por una aplicación móvil se realiza igual que para cualquier otra aplicación.

 

FUNCIONALIDAD DE LA LIBRERÍA

El CAS es un servicio web que se comunica mediante peticiones HTTP. Se usa para autenticar una parte cliente frente a su parte servidor, como por ejemplo la autenticación navegador-aplicación web, o en este caso, aplicación móvil-aplicación web. Para realizar esta autenticación, la parte cliente debe solicitar al CAS un ticket de validación para presentárselo a su parte servidor. La parte servidor debe validar con el CAS este ticket que le presenta el cliente. En este proceso de autenticación la parte cliente y el CAS usan dos tipos de tickets: el ST y el TGC.

Service Ticket (ST): Es una cadena usada por el cliente como credencial para obtener acceso a un servicio concreto, es decir, la aplicación web dada de alta en el CAS. Se obtiene del CAS al presentarle las credenciales del cliente junto al identificador del servicio. Sólo es válido para el servicio que fue indicado y tan solo sirven para una única validación. Una vez se intenta validar, el ticket es inhabilitado.

Ticket-Granting cookie (TGC): Es una cookie HTTP establecida por el CAS que mantiene el estado de autenticación del cliente. Mientras sea válido, el cliente puede presentar este ticket al CAS en lugar de sus credenciales.

 

La librería se encarga de realizar la comunicación entre la parte cliente (aplicación móvil) y el CAS.

Si no hay TGC ni credenciales guardadas (primer acceso o si se cerró sesión) se muestra la pantalla de autenticación al usuario para solicitarlas. Una vez introducidas, la librería se comunica con el CAS para realizar la autenticación y obtener el TGC y/o el ST.

Si hay un TGC almacenado, se realizará la comunicación con el CAS para obtener el ST.

Si no hay un TGC almacenado, pero sí las credenciales, se realizará la comunicación para obtener el TGC y/o el ST.

Finalmente se devuelve el ticket correspondiente a la aplicación móvil que hace uso de la librería. La aplicación móvil usará el ticket para enviárselo a su aplicación web correspondiente y terminar el proceso de autenticación.

Este funcionamiento puede variar ligeramente según los parámetros concretos que se le indiquen a la librería.

 

INTEGRACIÓN EN ANDROID

La librería CAS móvil se distribuye para aplicaciones Android en un fichero .zip que incluye:

MobileCASClient.jar. Archivo JAR necesario incluir en tu aplicación móvil.

MobileCASClient_desarrollo.jar. Igual que el anterior pero conecta con el servidor CAS de desarrollo.

[CAS-Móvil] Manual para Android.pdf. Un documento de manual detallado.

Javadoc. Carpeta que contiene la documentación Javadoc de las clases y métodos públicos.

Por tanto solo hay que añadir el MobileCASClient.jar (o el de desarrollo) al proyecto de la aplicación móvil.

 

INTEGRACION EN IPHONE

La librería CAS móvil se distribuye para aplicaciones para iPhone en un fichero .zip que incluye:

MobileCASClient. Carpeta que contiene todos los ficheros de código de la librería. Es necesario incluir todos en tu proyecto.

[CAS-Móvil] Manual para iPhone.pdf. Un documento de manual detallado.

Por tanto solo hay que añadir las clases contenidas en la carpeta MobileCASClient al proyecto de la aplicación móvil. Las clases están organizadas en dos carpetas: intern y public_headers. La primera carpeta contiene las clases del funcionamiento interno de la librería que no necesitan ser comprendidas. La carpeta public_headers contiene las clases públicas a importar y conocer, ya que son las que van a usarse directamente desde la aplicación.

 

AGRADECIMIENTOS

Muchas gracias a nuestros compañeros Belén Cruz , Javier de Andrés y Juan Carlos Moncada por el desarrollo y la integración con el servidor CAS.