Resultados de la búsqueda :

×

Inicio de sesión único (SSO) de ASP.NET Core SAML con ADFS como IDP


Inicio de sesión único (SSO) de ASP.NET Core SAML El middleware ofrece la posibilidad de habilitar el inicio de sesión único SAML para sus aplicaciones principales ASP.NET. Al utilizar el inicio de sesión único, puede utilizar solo una contraseña para acceder a sus aplicaciones y servicios principales de ASP.NET. Nuestro middleware es compatible con todos los proveedores de identidad compatibles con SAML. Aquí repasaremos una guía paso a paso para configurar el inicio de sesión único (SSO) entre ASP.NET Core y ADFS considerando ADFS como IdP. Para saber más sobre las funciones que ofrecemos para ASP.NET Core SSO, haga clic en esta página.

Soporte de plataforma: El middleware ASP.NET Core SAML es compatible con ASP.NET Core 2.0 y versiones posteriores. Es compatible con todas las plataformas ASP.NET Core, incluidas Windows, Linux y macOS.

Requisitos previos: descarga e instalación


PM> NuGet\Install-Package miniOrange.SAML.SSO
        
using Microsoft.AspNetCore.Authentication.Cookies; using miniOrange.saml; var builder = WebApplication.CreateBuilder(args); builder.Services.AddRazorPages(); // Add authentication services builder.Services.AddControllersWithViews(); builder.Services.AddAuthentication(options =>  { options.DefaultAuthenticateScheme = "SSO_OR_Admin"; options.DefaultScheme = "SSO_OR_Admin"; options.DefaultChallengeScheme = "SSO_OR_Admin";  }) .AddCookie("moAdmin", options =>  {  }) .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>  { // Configure cookie options as needed for SSO Users }) .AddPolicyScheme("SSO_OR_Admin", "SSO_OR_Admin", options => { // runs on each request options.ForwardDefaultSelector = context => { // filter by auth type, here if the moAdmin cookie is coming in any request the Admin Authentication will work foreach (var cookie in context.Request.Cookies) { if (cookie.Key.Contains(".AspNetCore.Cookies")) { return CookieAuthenticationDefaults.AuthenticationScheme; } } // otherwise always check for cookie auth return "moAdmin"; }; }); var app = builder.Build(); if (!app.Environment.IsDevelopment())  {     app.UseExceptionHandler("/Error");     app.UseHsts();  } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.UseCookiePolicy(); app.UseAuthentication(); app.UseStaticFiles(); app.UseminiOrangeSAMLSSOMiddleware(); app.Run();

Pasos para configurar el inicio de sesión único (SSO) de ASP.NET Core usando ADFS como IDP

1. Agregar middleware en la aplicación ASP.NET Core

  • Después de la integración, abra su navegador y explore el panel de middleware con la siguiente URL:
    https://<asp-net-middleware-base-url>/?ssoaction=config
  • Si aparece la página de registro o la página de inicio de sesión, ha agregado exitosamente el middleware miniOrange ASP.NET SAML SSO a su aplicación.
  • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - registro saml dll
  • Regístrese o inicie sesión con su cuenta haciendo clic en Registro para configurar el middleware.

2. Configurar ADFS como proveedor de identidad

  • Bajo la Ajustes Plugin seleccione ADFS como su proveedor de identidad de la lista que se muestra.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando ADFS como IDP: seleccione ADFS como proveedor de identidad

Hay dos formas que se detallan a continuación con las que puede obtener los metadatos de SAML SP para configurarlos en el extremo de su proveedor de identidad.

A] Usando la URL de metadatos SAML o el archivo de metadatos:
  • En Menú de configuración del complemento, buscar Configuración del proveedor de servicios. Debajo, puede encontrar la URL de los metadatos, así como la opción para descargar los metadatos SAML.
  • Copie la URL de metadatos o descargue el archivo de metadatos para configurarlo en el extremo de su proveedor de identidad.
  • Puede consultar la captura de pantalla a continuación:
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando ADFS como IDP: copiar metadatos descargados
B] Cargar metadatos manualmente:
  • Desde el Configuración del proveedor de servicios sección, puede copiar manualmente los metadatos del proveedor de servicios como ID de entidad de SP, URL de ACS, URL de cierre de sesión único y compártalo con su proveedor de identidad para su configuración.
  • Puede consultar la captura de pantalla a continuación:
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando ADFS como IDP: metadatos manuales
  • Primero, busca Administración de ADFS aplicación en su servidor ADFS.
  • ASP.NET Core SAML Inicio de sesión único (SSO) utilizando ADFS como IDP - servidor adfs
  • En Administración de AD FS, seleccione Confianza del partido que confía y haga clic en Agregar confianza de parte dependiente.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando ADFS como IDP: agregar confianza de parte confiada
  • Seleccione Reclamos conscientes desde el Asistente de confianza para la parte que confía y haga clic en Inicio del botón.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML usando ADFS como IDP - Claims Aware
mini naranja img Seleccionar fuente de datos
  • En Seleccionar fuente de datos, seleccione la fuente de datos para agregar una confianza de parte de confianza.

  • Navegue hasta Metadatos del proveedor de servicios sección del middleware ASP.NET Core SAML y copie el archivo URL de metadatos.
  • Seleccione Importar datos sobre la parte de confianza publicados en línea o en la red local opción y agregue la URL de metadatos en la dirección de metadatos de la Federación.
  • Haga clic en Siguiente.
  • Inicio de sesión único (SSO) SAML de ASP.NET Core utilizando ADFS como IDP: compatibilidad con los metadatos del asistente SAML 2.0

    Nota: En el siguiente paso ingrese el deseado Nombre que se ve en la pagina y haga clic Siguiente.

mini naranja img Elija la política de control de acceso
  • Seleccione Permitir a todos como Política de Control de Acceso y haga clic en Siguiente.
  • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - para SAML 2.0 Wizard Multi-Factor
mini naranja img Listo para agregar confianza
  • In Listo para agregar confianza hacer clic en Siguiente y luego Cerrar.
  • Inicio de sesión único (SSO) SAML de ASP.NET Core usando ADFS como IDP - Asistente de SAML 2.0 Editar reclamo
mini naranja img Editar política de emisión de reclamos
  • En la lista de Confianza del partido que confía, seleccione la aplicación que creó y haga clic en Editar política de emisión de reclamos.
  • Inicio de sesión único (SSO) SAML de ASP.NET Core usando ADFS como IDP - Asistente de SAML 2.0 Editar reclamo
  • En la pestaña Regla de transformación de emisión, haga clic en Agregar regla del botón.
  • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - para la regla de reclamo del asistente SAML 2.0
mini naranja img Elija el tipo de regla
  • Seleccione Enviar atributos LDAP como reclamos y haga clic en Siguiente.
  • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - para atributos SAML 2.0 Configure_LDAP
mini naranja img Configurar regla de reclamo
  • Agrega una Nombre de la regla de reclamo y seleccione el Tienda de atributos según sea necesario en el menú desplegable.
  • under Asignación de atributos LDAP a tipos de reclamos salientes, Seleccione el atributo LDAP como Correos electrónicos y tipo de reclamación saliente como ID de nombre.
  • Inicio de sesión único (SSO) SAML de ASP.NET Core utilizando ADFS como IDP, para la regla de notificación de transformación adicional de SAML 2.0
  • Una vez que haya configurado los atributos, haga clic en Acabado.
  • Después de configurar ADFS como IDP, necesitará el Metadatos de federación para configurar su proveedor de servicios.
  • Para obtener los metadatos de la federación de ADFS, puede utilizar esta URL
    https://< ADFS_Server_Name >/federationmetadata/2007-06/federationmetadata.xml
  • Ha configurado ADFS correctamente como IdP (proveedor de identidad) de SAML para lograr el inicio de sesión de inicio de sesión único (SSO) de ADFS.

SSO de Windows (opcional)

Siga los pasos a continuación para configurar Windows SSO

mini naranja img Pasos para configurar ADFS para la autenticación de Windows
  • Abra el símbolo del sistema elevado en el servidor ADFS y ejecute el siguiente comando en él:
    • mini naranja img setspn -a HTTP/##FQDN del servidor ADFS## ##Cuenta de servicio de dominio##

      mini naranja img FQDN es un nombre de dominio completo (Ejemplo: adfs4.example.com)

      mini naranja img La cuenta de servicio de dominio es el nombre de usuario de la cuenta en AD.

      mini naranja img Ejemplo: setspn -a HTTP/adfs.example.com nombre de usuario/dominio

  • Abra la Consola de administración de AD FS, haga clic en Servicios y ve al Métodos de autenticación sección. A la derecha, haga clic en Editar métodos de autenticación principales. Verifique la autenticación de Windows en la zona de Intranet.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando ADFS como IDP: autenticación principal ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - Aplicación de administración
  • Abra Internet Explorer. Navegue a la pestaña Seguridad en Opciones de Internet.
  • Agregue el FQDN de AD FS a la lista de sitios en la intranet local y reinicie el navegador.
  • Seleccione Nivel personalizado para la zona de seguridad. En la lista de opciones, seleccione Inicio de sesión automático solo en la Zona de Intranet.
  • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - para SAML 2.0 Wizard_Enable SAML
  • Abra PowerShell y ejecute los siguientes dos comandos para habilitar la autenticación de Windows en el navegador Chrome.
    •   Set-AdfsProperties -WIASupportedUserAgents ((Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Chrome")
        Get-AdfsProperties | Select -ExpandProperty WIASupportedUserAgents;
  • Ha configurado ADFS correctamente para la autenticación de Windows.

3. Configurar el middleware ASP.NET SAML como proveedor de servicios

Hay dos formas que se detallan a continuación con las que puede configurar los metadatos de su proveedor de identidad SAML en el middleware.

A] Cargue metadatos usando el botón Cargar metadatos IDP:
  • Si su proveedor de identidad le ha proporcionado la URL de metadatos o el archivo de metadatos (solo en formato .xml), simplemente puede configurar los metadatos del proveedor de identidad en el middleware utilizando el Cargar metadatos de IDP .
  • Puede consultar la captura de pantalla a continuación:
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando ADFS como IDP: carga de metadatos
  • Puedes elegir cualquiera de las opciones según el formato de metadatos que tengas disponible.
B] Configure los metadatos del proveedor de identidad manualmente:
  • Después de configurar su Proveedor de identidad, te proporcionará ID de entidad de IDP, URL de inicio de sesión único de IDP y Certificado SAML X509 campos respectivamente.
  • Haga Clic en Guardar para guardar los datos de su IDP.
  • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - Configuración SAML dll

4. Prueba de SSO de SAML

  • Haga clic en el Configuración de prueba para probar si la configuración SAML que ha realizado es correcta.
  • La siguiente captura de pantalla muestra un resultado exitoso. Haga clic en Integración SSO para continuar con la integración SSO.
  • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - Configuración de prueba SAML dll
  • Si experimenta algún error en el extremo del middleware, se le mostrará una ventana similar a la siguiente.
  • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP: habilitar registros de depuración
  • Para solucionar el error, puede seguir los pasos a continuación:
    • under Solucionar problemas pestaña, habilite la opción para recibir los registros del complemento.
    • ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP: habilitar registros de depuración
    • Una vez habilitado, podrá recuperar los registros del complemento navegando a Ajustes Plugin pestaña y haciendo clic en Configuración de prueba.
    • Descargue nuestra archivo de registro del desplegable Solucionar problemas pestaña para ver qué salió mal.
    • Puedes compartir el archivo de registro con nosotros en aspnetsupport@xecurify.com y nuestro equipo se comunicará con usted para resolver su problema.

5. Mapeo de atributos

  • Después de probar la configuración, asigne los atributos de su aplicación a los atributos del proveedor de identidad (IdP).
  • Nota: Todos los atributos asignados se almacenarán en la sesión para que pueda acceder a ellos en su aplicación.
  • ASP.NET Core SAML Inicio de sesión único (SSO) utilizando ADFS como IDP: asignación de atributos

6. Código de integración

  • Estos pasos le permiten recuperar la información del usuario SSO en su aplicación en forma de reclamos de usuario.
  • También puedes mirar el recorrido de instalación para comprender cómo funcionaría la integración SSO en su aplicación de middleware asp.net.
  • Simplemente copie y pegue ese fragmento de código donde quiera acceder a los atributos del usuario.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML | Autenticación central ASP.NET | ASP.NET Core SAML SSO: código de integración
  • Nota: Este middleware de prueba solo admite información del usuario en reclamos; la recuperación de información del usuario en la sesión y los encabezados está disponible en el complemento premium
  • También puede copiar el código de integración a continuación:
  •           
      string name="";   string claimtype="";   string claimvalue="";    if(User.Identity.IsAuthenticated)    {      foreach( var claim in User.Claims)      {        claimtype = claim.Type;        claimvalue = claim.Value;      }      //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)      var identity = (ClaimsIdentity)User.Identity;      IEnumerable claims = identity.Claims;      string mobileNumber = identity.FindFirst("mobileNumber")?.Value;    }
  • Nota: Todos los atributos asignados se almacenarán en los reclamos a los que se accederá en su aplicación.
  • Si desea ayuda con el código de integración, póngase en contacto con nosotros en aspnetsupport@xecurify.com

7. Configuración de inicio de sesión

  • Hover en Seleccionar acciones y haga clic en Copiar enlace SSO. ASP.NET Core SAML Inicio de sesión único (SSO) usando ADFS como IDP - Copiar enlace SSO
  • Utilice la siguiente URL como enlace en la aplicación desde donde desea realizar SSO:
    https://asp-net-middleware-base-url/?ssoaction=login
  • Por ejemplo, puedes usarlo como:
    <a href=”https://asp-net-middleware-base-url/?ssoaction=login”>Log in</a>

8. Configuración de cierre de sesión

  • Utilice la siguiente URL como enlace a su aplicación desde donde desea realizar SLO:
    https://asp-net-middleware-base-url/?ssoaction=logout
  • Por ejemplo, puedes usarlo como:
    <a href=”https://asp-net-middleware-base-url/?ssoaction=logout”>Log out</a>

Puede configurar el middleware de inicio de sesión único (SSO) ASP.NET Core SAML 2.0 con cualquier proveedor de identidad, como ADFS, Azure AD, Bitium, centrify, G Suite, JBoss Keycloak, Okta, OneLogin, Salesforce, AWS Cognito, OpenAM, Oracle, PingFederate, PingOne, RSA SecureID, Shibboleth-2, Shibboleth-3, SimpleSAML, WSO2 o incluso con el tuyo propio proveedor de identidad personalizado. Consulte la lista de proveedores de identidad esta página.

Recursos adicionales


¿Necesitas ayuda?

¿No puedes encontrar tu proveedor de identidad? Envíenos un correo electrónico a aspnetsupport@xecurify.com y lo ayudaremos a configurar SSO con su IDP y para obtener orientación rápida (por correo electrónico/reunión) sobre sus requisitos y nuestro equipo lo ayudará a seleccionar la mejor solución/plan adecuado según sus requisitos.

¡Hola!

¿Necesitas ayuda? ¡Estamos aquí!

SOPORTE
Póngase en contacto con el soporte técnico de miniOrange
comercial

Gracias por su consulta.

Si no recibe noticias nuestras dentro de las 24 horas, no dude en enviar un correo electrónico de seguimiento a info@xecurify.com