Developers

Iniciar sesión con OcioAvila.com mediante OAuth

Oauth es un estándar abierto que fue lanzado hacia finales de 2007 que define un mecanismo para que una aplicación web (cliente) pueda acceder a la información de un usuario en otra (proveedor) sin tener que informar a la primera del usuario y contraseña.

Para acceder a la mayoría de métodos de la API REST es necesario autenticarse mediante OAuth, por tanto conocer como funciona este servicio es necesario si se desea obtener información desde la web.

Requisitos para usar OAuth

Para poder usar OAuth se precisa disponer de una aplicación creada en OcioAvila.com. Desde el Área de Desarrolladores se solicita, se crea la aplicación y se obtienen dos datos que el consumidor necesita para poder acceder.

Estos datos, el ConsumerKey y ConsumerToken, deben mantenerse en secreto pues identifican a la aplicación y su difusión puede provocar un uso malintencionado del servicio.

 

Obtener la URL de inicio de sesión

Para poder identificar al usuario necesitamos disponer de una URL a la que dirigir el navegador donde el usuario pueda introducir su usuario y contraseña de OcioAvila.com. La URL esta alojada en el dominio principal de OcioAvila.com y, por tanto, el consumidor nunca tendrá acceso a los dichos datos.

Para obtener la URL de inicio de sesión debemos realizar una petición a la API REST indicando dichos datos:

http://ocioavila.com/api/v1/oauth/app?consumer_key=<ConsumerKey>&consumer_token=<ConsumerToken>

Si los datos facilitados son correctos y la aplicación está activada, se devuelve en formato JSON la URL donde debemos redirigir al usuario para que inicie sesión. La URL entregada es válida durante apenas veinte minutos, si el usuario no inicia sesión en ese periodo de tiempo la URL quedará inhabilitada.

 

Obtener el AccessToken del usuario

Tras iniciar sesión el usuario con la URL obtenida, OcioAvila.com comprueba si el usuario ya había aceptado el uso de su cuenta en la misma o si se han cambiado los permisos, en cuyo caso se muestra la lista de permisos que requiere el autor de la aplicación, debiendo autorizar para continuar.

Al crear la aplicación se solicita una URL de regreso o "Callback URL" que es la ruta a la que OcioAvila.com entregará la AccessToken. Suponiendo que la Callback URL de la aplicación sea http://dominio.com/ocioavila-oauth, se redirigirá a

http://dominio.com/ocioavila-oauth?access_token=<AccessToken>

El AccessToken obtenido permitirá consumir cualquier método de la API REST durante dos horas y, desde ella, acceder a los datos que sean de nuestro interés.

Si el usuario cancela la petición o no acepta los permisos OAuth redirige el navegador a la Callback URL añadiendo el error. Siguiendo el ejemplo anterior, la redirección llevaría hasta:

http://dominio.com/ocioavila-oauth?error=<Error>

.

Ejemplo de uso

El Área de Desarrolladores de OcioAvila.com hace uso de OAuth para identificar a los usuarios en el apartado "Mis Aplicaciones"