Raul Jimenez
Experto en Drupal
¿Qué es el Single Sign on (SSO)?
Cada vez más nos encontramos con mas web y/o aplicaciones que acuden a SSO (Single Sign On) para gestionar un registro de usuarios de forma unificada.
Estoy seguro que muchos de vosotros, navegando por internet, habéis visto que para registraros en un sitio web os bastaba solo con hacer clic en un botón que nos permite loguearnos/registrarnos con simplemente una cuenta de google, facebook, etc…
Pues bien, esto es prácticamente para lo que sirve un SSO, poder acceder a diferentes sistemas con una misma cuenta, pero esta definición se queda un poco corta para todas las posibilidades que nos ofrece poder trabajar con este sistema.
¿PORQUE NECESITO SSO EN MI SISTEMA?
Ya sea que estés desarrollando una pequeña web o una mega aplicación, al final, todos acabamos teniendo un mismo problema, el control y gestión de nuestro usuarios.
Lo mas común es, que si usamos un CMS o cualquier otro sistema, usar el método de registro/logeo nativo que nos propone y es acertado, porque nos garantiza la seguridad mínima que requiere nuestra aplicación.
El problema es, que por un lado añadimos complejidad para que el usuario pueda acceder a tu aplicación y por otro que es una cuenta mas que el usuario debe de recordar, haciendo que nuestro usuario en muchas ocasiones decline el registro en nuestra aplicación.
Pero esto cambia si ofrecemos una alternativa mas simple, usar un única cuenta para poder acceder a todas nuestras aplicaciones.
¿QUE MEJORAS NOS TRAE USAR UN SSO?
Usar un sistema de SSO no traerá grandes ventajas para nuestra aplicaciones, a continuación os traigo una pequeña lista con las que yo considero mas importantes:
- Cuentas unificadas: El uso de una misma cuenta facilita nuestra gestión de los usuarios, sobretodo en cuanto a permisos y accesos se refiere.
- Simplicidad: Es una gran mejora en cuanto a la experiencia de usuario ya que el proceso es extremadamente sencillo y según el SSO elegido, incluso hasta familiar para el usuario.
- Seguridad: Garantizamos que el usuario que intenta acceder es realmente el que accede con las mismas credenciales y permisos en todos nuestro sistemas.
¿QUE TIPOS DE SSO EXISTEN?
Es cierto que en el mercado existen una gran variedad de tipos de SSO, pero yo os voy a hablar de 3 tipos, que son, al fin y al cabo, los que yo mas he utilizado a lo largo de mi vida como programador.
1. Simple SSO: Este sistema es el mas usado por la gran mayoria de app webs, funcionan con el clásico botón de registro desde un proveedor conocido como facebook, google, jira…
El sistema es bastante sencillo, ya que consta de un simple botón, el cual utiliza los proveedores que hayamos elegido y se sirve de sus sistemas de validación de usuario para dar acceso a nuestra aplicación.
Drupal: OneAll Single Sign-On / SSO
WordPress: Single Sign-On – Professional SSO solution for WordPress
2. Hosted Login: Este es un sistema muy parecido al anterior, con la única peculiaridad, que el sistema de registro no sucede en el mismo sitio, si no que nos redirigirá a la página web de nuestro proveedor, el cual nos facilitará el formulario de registro e incluso nos permitirá usar los botones de proveedores conocidos como facebook, google…
En este proceso, todos los protocolos de seguridad y gestion de usuario suceden en la parte de nuestro proveedor.
Open ID: Es un protocolo open source el cual es utilizado por diferentes proveedores de confianza y nos permite usar sus servicios, en esencia es muy parecido al sistema de simple SSO.
Drupal: OpenId Connect
WordPress: OpenId
¿QUE DESVENTAJAS TIENE?
Obviamente, no todo es bueno siempre y en este caso no iba a ser diferente, el uso del SSO también tiene una serie de desventajas, que desde mi punto de vista no superan a las ventajas que proporciona.
- Única contraseña: El hecho de que solo se tenga un usuario con una contraseña hace que sea mas fácil de que te vulneren la cuenta en todos tus sistemas, ya que al tener acceso a esa cuenta podrá acceder a todos los sistemas relacionado.
- Caída del sistema: Es algo difícil pero posible y es que, si nuestro proveedor falla, por el motivo que sea, nuestro sistema de logueo/registro dejará de funcionar.
- Suplantación de identidad: Este es de los mas comunes y es que si el usuario usa un ordenador compartido y no cierra la sesión que uso para nuestra aplicación, otro usuario podría acceder sin ningún tipo de restricción.
- RGPD: Nuestra tan querida ley RGPD, también es un inconveniente, sobre todo si hubiera cualquier tipo de fuga de información en alguno de nuestros proveedores.
CONCLUSION
En definitiva, el uso del SSO es mas que recomendado, hoy en día existen diferentes proveedores que nos facilitan la instalación y configuración del mismo.
Desde un punto de vista del usuario es un proceso mas sencillo y conocido y esto facilita, sin duda alguna, las conversiones.
Por otro lado, dejar a grandes proveedores la gestión y seguridad de los usuarios puede ser incluso algo positivo.
Como conclusión os aconsejo que uséis este tipo de sistemas, que aparte de ser el futuro, veréis como os ayudará en vuestra gestión de usuarios.
Excelente artículo. Bien explicado para los que aún no han tenido la oportunidad de usarlo o los que los han usado y no saben cómo funciona.