Resultados de la búsqueda :

×

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


Inicio de sesión único (SSO) de ASP.NET Core SAML El módulo brinda la capacidad 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 módulo 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 PingFederate considerando a PingFederate 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.1 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.Middleware -Versión 5.0.2
      
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 PingFederate como IDP

1. Agregar módulo en la aplicación ASP.NET Core

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

2. Configure PingFederate como proveedor de identidad

  • Bajo la Ajustes Plugin seleccione Federación de ping como su proveedor de identidad de la lista que se muestra.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: seleccione PingFederate 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 PingFederate 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 PingFederate como IDP: metadatos manuales
  • Inicie sesión en su panel de administración de usuarios de Ping Federate.
  • Haga clic en el Proveedor de identidad en el menú de navegación izquierdo.
  • under CONEXIÓN SP, haga clic en Crear nuevo formulario del botón.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP - CONEXIÓN SP
  • Seleccione Perfiles SSO del navegador plantilla de conexión en el Tipo de conexión pestaña y clic Siguiente.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: perfiles de SSO del navegador
  • Seleccione SSO del navegador en la Opciones de conexión pestaña y clic Siguiente.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: opciones de conexión
  • Seleccione Archive como método para importar metadatos y haga clic Elige archivo para elegir los metadatos del complemento miniOrange SSO en el Importar metadatos lengüeta. Hacer clic Siguiente.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: importar metadatos
  • Revisa la información sobre el Resumen de metadatos pestaña y haga clic Siguiente.
  • En Pestaña Información general asegurar que el ID de entidad del proveedor de servicios, nombre de conexióny URL base Los campos se rellenan previamente en función de los metadatos. Hacer clic Siguiente.
  • Navegue hasta la SSO del navegador pestaña y haga clic en el Configurar SSO del navegador. Serás redirigido al asistente de configuración de SSO del navegador.
    • Seleccione SSO iniciado por IdP y SSO iniciado por SP opciones en el Perfiles SAML pestaña y clic Siguiente.
    • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP - Perfiles SAML
    • Ingrese el tiempo de validez de su afirmación deseada desde el Vida útil de la aserción pestaña y clic Siguiente. Por defecto viene configurado 5 minutos para ambos.
    • Navegue hasta Creación de aserción y haga clic en Configurar creación de aserción. Serás redirigido al asistente de configuración de creación de afirmaciones.
      • En la pestaña Mapeo de identidad, seleccione ESTÁNDAR y haga clic en Siguiente.
      • Seleccione un formato de nombre de sujeto para SAML_SUBJECT en la página Contrato de atributos y haga clic en Siguiente.
      • Haga clic en Asignar nueva instancia de adaptador en la asignación de origen de autenticación.
      • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: asignación de origen de autenticación
      • Seleccione un Instancia de adaptador y haga clic Siguiente. El adaptador debe incluir la dirección de correo electrónico del usuario.
      • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: instancia de adaptador
      • Seleccione Utilice solo los valores del contrato del adaptador en la aserción SAML opción en el Método de mapeo pestaña y clic Siguiente.
      • Seleccione su instancia de adaptador como Fuente y el correo electrónico como Valor en Cumplimiento del contrato de atributos pestaña y haga clic Siguiente.
      • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: método de asignación
      • (Opcional) Seleccione las condiciones de autorización que desee en la página Criterios de emisión pestaña y clic Siguiente.
      • Haga Clic en Terminado en Resumen.
      • Haga Clic en Siguiente en Asignación de fuentes de autenticación .
      • Haga Clic en Terminado en la pestaña Resumen.
      • Haga Clic en Siguiente en Creación de afirmaciones
  • Navegue a la pestaña Configuración de protocolo del asistente SSO del navegador y haga clic en Configurar configuración de protocolo.
    • Seleccione PUBLICAR para Encuadernación y especifique el inicio de sesión único URL del punto final en el campo URL del punto final en la URL del servicio al consumidor de aserciones Haga Clic en Siguiente.
    • Inicio de sesión único (SSO) de ASP.NET Core SAML usando PingFederate como IDP: asistente de SSO del navegador
    • Seleccione PUBLICAR en Enlaces SAML permitidos pestaña y clic Siguiente.
    • Seleccione las políticas de firma que desee para las afirmaciones en el Política de firma pestaña y clic Siguiente.
    • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: políticas de firma
    • Seleccione la política de cifrado que desee para las afirmaciones en el Política de cifrado pestaña y clic Siguiente.
    • Haga Clic en Terminado en Resumen de configuración de protocolo .
  • Navegue hasta la Referencias y haga clic en el Configurar credenciales. Será redirigido a la Referencias asistente de configuración.
    • Seleccione el certificado de firma para usar con el servicio de inicio de sesión único y seleccione Incluir el certificado en el elemento de firma en la pestaña Configuración de firma digital. Haga clic en Listo.
    • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate como IDP: certificado de firma
    • Haga Clic en Terminado en Resumen.
    • Haga Clic en Siguiente en Referencias.
  • Seleccione Active para Estado de la conexión en Activación y resumen pestaña y clic Guardar.
  • Ahora, navegue hasta el panel de administración de usuarios de Ping Federate, proveedor de identidad.
  • Haga Clic en Gestionar todo bajo Conexiones SP.
  • Haga Clic en Exportar metadatos para la conexión del proveedor de servicios deseado.
  • Haga Clic en Exportar en Exportación y resumen pestaña y clic Hecho.

3. Configurar el módulo 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 módulo.

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 formato .xml), simplemente puede configurar los metadatos del proveedor de identidad en el módulo usando 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 PingFederate 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.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML usando PingFederate como IDP - configuración de dll de SAML

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 PingFederate como IDP - Configuración de prueba SAML dll
  • Si experimenta algún error al final del módulo, se le mostrará una ventana similar a la siguiente.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate 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.
    • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate 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.
  • Inicio de sesión único (SSO) de ASP.NET Core SAML utilizando PingFederate 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>

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://base-url/?ssoaction=login
  • Por ejemplo, puedes usarlo como:
    <a href=”https://asp-net-middlewarebase-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 módulo de inicio de sesión único (SSO) de 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 tu 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