Single sign on (SSO) en drupal

Es posible que alguna vez, hayáis navegado por diferentes sitios webs con diferentes nombres de dominio o a veces simplemente eran sub-dominios y os hayáis dado cuenta que sin haberse registrado ya estabais logeados y además podíais entrar en vuestro espacio privado. 

Esto aunque pueda parecer magia, no lo es. Esto se llama Single Sign On o como se diría hoy en día con siglas SSO y en esencia para lo que sirve es, que te puedas registrar en un sitio web y que podamos usar ese mismo usuario en diferentes sitios webs completamente independientes o no sin necesitad de volverte a logear.

Que es y para que sirve el SSO?

Como ya hemos visto el SSO sirve para que un usuario pueda darse de alta en un sitio web, con su propia base de datos, logearse y poder usar esa información en otro/s sitios webs sin necesidad de registrarse ni logearse de nuevo.

Esto resulta muy útil si tuvieramos diferentes webs en nuestra empresa o diferentes sub-sitios dentro de nuestro sitio principal y quisieramos mantener registrado al usuario mientras va navegando por los diferentes sitios.

Un ejemplo claro es drupal.org, api.drupal.org y groups.drupal.org donde podemos encontrar diferentes sitios con diferentes sub-dominios los cuales comparten los mismos usuarios y si te registras o logeas automáticamente lo haces en todos los demás.

Como funciona en Drupal?

Drupal tiene muchas formas de gestionar este proceso en función de las necesidades de cada sitio. aquí os dejo una larga lista de módulos los cuales podéis consultar y escoger el que mas se adapte a vuestras necesidades.

En este articulo vamos a comentar tres de ellos por ser los mas usados y por ofrecer diferentes soluciones. No obstante os invito a que repaseis la lista y comentéis vuestras experiencias.

En términos generales el funcionamiento es sencillo tendremos un sitio web el cual sera el "master" y el resto que seran los "slaves". Estos "slaves" recogerán cierta información creada por el "master" y crearan un nuevo usuario en el sitio "slave" (Solo se creará un nuevo usuario en caso de que nunca se haya logeado en este sitio.).

Según la solución que usemos es posible que el sitio "slave" sincronice cierta información con el "master" pero esto es transparente para nosotros.

Drupal 7 Core - Multi-DB Support

El core de drupal propone una solución simple pero eficaz para esta funcionalidad. Se trata de compartir las tablas de sesión entre los sitios en los que quieras tener el SSO.

Básicamente tenderías que ir al setting.php de cada sitio y compartir ciertas tablas. Si queréis saber un poco mas acerca de este método aqui os dejo un articulo por parte de lullabot "​Single Sign-on across Sub-Domains in Drupal with No Extra Modules".

 

HAZ CLICK EN SIGUIENTE PARA VER EL SIGUIENTE MODULO

Páginas

Total de votos: 10

Entradas relacionadas

Comentarios (0)

Deja un comentario