Hoy vamos a aprender como podemos implementar en nuestros proyecto Rails la ley de cookies que deben de de cumplir las páginas web europeos, he leido un poco sobre ello de diferentes fuentes y según Santiago Ponce interpreta, digo de antemano que no soy un experto jurista ni nada de ello, aquellas páginas que recojamos datos para analizar el tráfico con un simple google analytics debemos de cumplirla y conlleva a que el usuario nos debe de dar su consentimiento para almacenarlos.
Las páginas webs que tengan posibilidad de recordar datos empleando para ello cookies no haría falta, ya que este es el responsable de marcar el check para recordar sus datos por tanto sabe que lo vamos a almacenar y el usuario lo acepta. En mi explicación he decidido hacer una aceptación implicita no por tiempo porque iriamos en contra de la Ley, sino por navegación en nuestra web. Osea la persona que mueva el scroll entendemos que acepta que recojamos sus datos, por tanto hacemos desaparecer el mensaje.
Las herramientas en las que me apoyo para realizarlo es con la gema rack-policy, y la tecnología empleada es Rails con su Rack, ¿que es eso de Rack? a groso modo es un actor que se encuentra entre nuestro servidor web y nuestra aplicación, se compone de diferentes clases, con ellas nuestra aplicación se comunica con el rack y sus clases y el servidor también con ella, podemos asemejarlo como ActiveRecord que se comunica con la aplicación y nuestra base de datos, por tanto la ventaja es que nosotros solo nos comunicamos con el Rack independientemente del servidor que utilicemos. Este nos ayuda a filtrar e interacturar con nuestras aplicaciones, y desde las clases tenemos acceso a las cabeceras http, el estado y la respuesta.
Una aplicación Ruby on Rails tiene por defecto un listado de clases middleware que se ejecutan en un cierto orden cuando nos comunicamos con nuestro servidor entre ella tenemos una clase middleware donde actúan las cookies ActionDispatch::Cookies.
Otro día hablaremos sobre este aspecto, pero esta vez nos centraremos en lo importante, la ley de cookies.
Por tanto por decirlo así cuando llegue a solicitar las peticiones de cookies nuestro google analytics nos aseguraremos que antes de tramitarla el usuario haya aceptado implicitamente nuestras cookies. Ejemplo:
1. Google analytics: Oye!! que te mando las cookies para tu visita.
2. Rack: mmmm, a tí te esperaba yo?, esperate un momentito que se lo digo al usuario.
3. Pantalla: Eh! el que está leyendo esto, que me dicen que te quieren meter una cookie no se muy bien por donde…
4. Eh que ha movido el scrolll, entonces acepta!!! Rack actua! rápido antes que se arrepienta.
5. Rack ejecuta el código necesario y continua con la aplicación tan normal.
Para que todo quede más didáctico he realizado un video explicativo de como podemos implementarlo. mejor, no?