SSO con cualquier aplicación .NET
En el artículo anterior «Sigle Sign-On (SSO) en Atlas SBI» vimos como activar el sigle sign on para que Atlas SBI delegara la autenticación en Active Directory. El SSO con Active Directory permite delegar la identificación del usuario conectado al Directorio Activo de Windows.
Esta solución es muy válida en entornos corporativos donde se centraliza la información de seguridad en el Active Directory de Windows. Sin embargo, para aplicaciones que afecten a múltiples organizaciones o que tengan una seguridad propia no es apropiado.
En este artículo veremos como activar el single sign on entre dos aplicaciones .Net para que cualquiera de ellas pueda autenticar un usuario, de manera que cuando un usuario ya se haya identificado en una de ellas, no se le vuelva a solicitar la contraseña al acceder a la otra.
El video de la cabecera muestra el resultado final del proceso, de manera que se puede comprobar cómo autenticándonos en una de las aplicaciones, automáticamente hacemos login en la otra.
Cabe destacar que para poder utilizar esta técnica con Atlas SBI (y posiblemente con otras aplicaciones) es necesario que los usuarios estén dados de alta con el mismo Id en ambas aplicaciones.
Configuración del SSO
El método consiste, básicamente, en utilizar las mismas claves de máquina (machine key) para que las cookies de sesión se compartan entre aplicaciones.
En primer lugar debemos generar una clave única para la primera aplicación (o simplemente ir a la configuración de IIS y copiar la clave actual de dicha aplicación y la clave de encriptación.
Seguidamente iremos a la configuración de Claves de equipo (Machine Key) en el otro servidor web y copiaremos las claves de Máquina y de encriptación que copiamos del proyecto anterior.
Éste procedimiento se puede realizar también mediante la configuración directa de los archivos web.config de cada una de las aplicaciones.
Por último, debemos configurar que los formularios de login guarden la información con el mismo nombre de cookie, para ello modificaremos la línea <forms> del archivo web.config para asignar un nombre de cookie.
<forms loginUrl=»~/LoginForm.aspx» protection=»All» timeout=»120″ name=»miNombreCookie»/>
Otros artículos SSO en Atlas SBI
Enlaces sobre Machine Key y SSO en .Net
- Single Sign-on in ASP.NET and Other Platforms – CodeProject
- How To: Configure MachineKey in ASP.NET 2.0 | Microsoft Docs
- Setting up a machine key – Orchard Documentation
- How to configure an ASP .NET OWIN identity on multiple projects | The ASP.NET Forums
- How can I enable single sign-on (SSO) with another Microsoft .net-based website? – User Documentation – Telligent Community 10.x – Telligent Community
Quieres compartir tus impresiones?
Tu dirección de correo no será publicada. Los campos obligatorios se marcan con *