(+34) 91 635 52 47 info@flat101.es
¿Hablamos? (+34) 91 635 52 47 - info@flat101.es

Cómo identificar a un cliente en varios sitios web. Single Sign On, ¿Qué es y para qué sirve?

Una de las necesidades más comunes en cualquier negocio en internet es poder identificar a nuestras visitas con nombre y apellidos. El saber es poder. De esta manera podremos poner en marcha mecanismos para incrementar la conversión, ofreciéndole productos relacionados basándonos en su navegación anterior, compras, wishlists, preferencias, etc.

Internet se basa en un protocolo sin estado (stateless). En concreto nos referimos al protocolo HTTP (Hypertext Transfer Protocol), donde por definición, cada una de las peticiones que recibimos a nuestra página web son anónimas e independientes. Esta situación se ha solventado en el tiempo añadiendo formularios de registro y login que junto a cookies de sesión permiten identificar a usuarios en un sitio web. Hasta aquí todo bien, ¿pero qué ocurre cuando en nuestra estrategia de captación online entran en juego varios sitios web?

Frecuentemente tenemos varios web, por ejemplo un ecommerce y un blog para captar tráfico. ¿Cómo podemos identificar a nuestros clientes en ambos sitios?

La mayoría de sitios web optan por utilizar sistemas de registro por separado. Es decir, el usuario se tiene que registrar en cada uno de los sitios web por separado, provocando una comprensible frustración al tener que volver a especificar una y otra vez quién es.

Ante este problema, técnicamente se ideó una solución que es tener una “base de datos centralizada de login” o técnicamente SSO (Single Sign On) o en su traducción en castellano “autenticación única”.

De esta manera el usuario puede hacer login en múltiples sitios, pero sus credenciales son comunes en los distintos sitios web. Como siempre la teoría siempre es más sencilla que la práctica, y a lo largo de los últimos años diferentes soluciones que han tenido más o menos éxito. Cito alguno de los muchos que hay:

– Implementación de SSO en servidor:

Durante los dorados comienzos de la decada de 2000 es estiló en las empresas implementar un sistema de SSO a medida. Personalmente fue uno de los primeros trabajos que me tocó hacer recién salido de la facultad. La idea era implementar JOSSO (implementación en Java de SSO) para una plataforma de elearning que estaba formada por diferentes módulos. Aunque finalmente funcionó, fue sin duda un trago durillo, en el que hicieron falta varias semanas de trabajo y 2 ingenieros a full-time.

Podemos ver un ejemplo de uso en el siguiente diagrama:

diagrama sso

Pros:

– Es un sistema de identificación centralizada que funciona

Contras:

– Complicado de implementar

– Requiere infraestructura adicional a nivel de sistemas

– OpenID:

Se trata de un estándar desarrollado inicialmente en 2005 por la OpenId Foundation (organismo sin ánimo de lucro). Es lo más parecido a un intento de DNI en internet. Básicamente los beneficios son los mismos que con SSO, un usuario con unos credenciales puede identificarse a lo largo de distintos sitios. La gran diferencia radica en el cómo se hace,  ya que cada usuario posee una url única para identificarse contra proveedores de OpenID, que no son mas que webs externas que gestionan los credenciales e información del usuario.

Es decir, cuando creas tu cuenta en OpenID, debes elegir un proveedor de identidad para crear tu cuenta. Algunos de los proveedores de OpenId son:

A continuación incluimos un diagrama simplificado para ver su funcionamiento:

OpenId diagrama

Pros:

– Es mucho más sencillo de implementar, ya que existen plugins para las principales plataformas: WordPress, Prestashop, Magento, etc.

Contras:

– Se trata de un sistema de identificación avanzado y excesivamente techie para el usuario de base, con lo que su cuota de uso es limitado.

– Ha recibido críticas por delegar en un tercero el almacenamiento de datos y el conocimiento de en qué sitios se loguea un usuario.

Puede encontrarse más información en http://openidexplained.com/

– Facebook Connect:

Facebook Connect ha sido la popularización del sistema centralizado de login. Con más de 1400 millones de cuentas creadas en Facebook.

La idea era buena, utilizar un sistema conocido por todos para identificarte a lo largo de internet.

Pros:

– Muy sencillo de implementar en los sitios web

– Permite el acceso de información adicional del perfil del usuario

Contras:

– Existen recelos en cuanto a la gestión de privacidad por parte de Facebook. ¿Al identificarme se publicarán contenidos en mi muro?

– El botón de Facebook, inicialmente popularizado como “Share” o “Like” sigue generando confusión entre los usuarios menos iniciados.

– Implementación de SSO como SaaS (Software As a Service):

El objetivo es volver a un sistema de login centralizado, donde el usuario no tiene que hacer nada en especial (no tiene que tener OpenId ni cuenta en Facebook), pero que a su vez sea más sencillo de implementar en los sitios web. En este punto han surgido servicios como Gigya, que ofrece un sistema de login descentralizado para diferentes dominios y subdominios.

En el siguiente artículo contaremos nuestra experiencia implantando Gigya en un medio de comunicación digital: cómo ha sido el proceso, la elección técnica para la integración, los pros y contras, etc. Espero que os sea de interés!.


5 respuestas a “Cómo identificar a un cliente en varios sitios web. Single Sign On, ¿Qué es y para qué sirve?”

  1. DUQUEredes dice:

    Esto es lo que lo va a petar a mi parecer claro:

    https://developers.facebook.com/products/anonymous-login

    • Flat101 dice:

      Gracias por tu comentario Felipe!.

      La verdad es que no lo conocía. Me he apuntado a la demo para poder probarlo. Veo que lo presentaron en el f8 de 2014 y todavía no hay mucha info. Me ha despertado la curiosidad por saber cómo va a funcionar, si va a ser algo similar a la navegación privada en navegadores o algo más elaborado. ¿Sabes algo?

      La verdad es que en móvil y tablet este tipo de identificación tendrán éxito. También están los mecanismos telemétricos. El propio TouchId de Apple o su correspondiente Android M de Google. En el caso de TouchId lo uso bastante y va genial.

      La pena es en dispositivos de escritorio, donde el hardware suele estar más obsoleto y no tenemos sensores :).

  2. @jrosell dice:

    El dia que facebook dé oauth… Gigya tiene mucha tirada en medios. Me encantará leer la próxima entrada.

    • Flat101 dice:

      Gracias Jordi 🙂

      La verdad es que como bien dices Gigya está teniendo mucho éxito en los medios, aunque también me ha sorprendido la cantidad de herramientas muy potentes intentando hacerse con un trozo de este pastel.

  3. SaraClip dice:

    ja ja!! Este tema me suena…. Ahora saca un post de como seguir a tus usuarios a través de los diferentes dispositivos que usan sin que tengan q registrarse 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si necesitas especialistas para desarrollar o mejorar tu negocio digital, podemos ayudarte.