Inicio de sesión único (SSO) de Blazor SAML
La aplicación ofrece la posibilidad de habilitar el inicio de sesión único SAML para sus aplicaciones Blazor. Con el inicio de sesión único, puede usar solo una contraseña para acceder a su aplicación y servicios Blazor. Nuestra aplicación 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 Blazor y PingFederate considerando a PingFederate como IdP. Para obtener más información sobre las funciones que ofrecemos para Blazor SSO, haga clic en
aquí.
Soporte de plataforma: La aplicación Blazor SAML es compatible con ASP.NET Core 2.0 y versiones posteriores. Es compatible con todas las plataformas Blazor, incluidas Windows, Linux y macOS.
Pasos para configurar el inicio de sesión único (SSO) de Blazor usando PingFederate como IDP
Paso 1: Requisitos previos: descarga e instalación
- Instale Blazor SAML SSO Middleware en su paquete de aplicación usando el paquete nuget
using miniorange.saml
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.UseCookiePolicy();
app.UseAuthentication();
app.UseStaticFiles();
app.UseminiOrangeSAMLSSOMiddleware();
app.Run();
}
}
using Microsoft.AspNetCore.Authentication.Cookies;
using miniOrange.saml;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages();
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
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();
app.useantiforgery();
-
Después de la integración, abra su navegador y explore el panel del conector con la siguiente URL:
https://<blazor-application-base-url>/?ssoaction=config
-
Si aparece la página de registro o la página de inicio de sesión, habrá agregado correctamente el conector miniOrange ASP.NET SAML SSO a su aplicación.
-
Regístrese o inicie sesión con su cuenta haciendo clic en Registrarse Botón para configurar la aplicación.
2. Configure PingFederate como proveedor de identidad
-
En la sección Ajustes Plugin seleccione el módulo Federación de ping como su proveedor de identidad de la lista que se muestra.
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 la sección 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:
B] Cargar metadatos manualmente:
-
En el campo 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:
- Inicie sesión en su panel de administración de usuarios de Ping Federate.
-
Haga clic en el elemento Proveedor de identidad en el menú de navegación de la izquierda.
-
En CONEXIÓN SP, haga clic en
Crear nuevo formulario .
-
Seleccione el elemento Perfiles SSO del navegador plantilla de conexión en el Tipo de conexión y haga clic en
Siguiente.
-
Seleccione SSO del navegador en la Opciones de conexión y haga clic en
Siguiente.
-
Seleccione Archivo como método para importar metadatos y hacer clic Elija archivo para elegir los metadatos del complemento SSO miniOrange en el Importar metadatos lengüeta. Hacer clic
Siguiente.
-
Revisa la información sobre el Resumen de metadatos pestaña y haga clic Siguiente.
-
En la sección Pestaña Información general asegurar que el
ID de entidad del proveedor de servicios, nombre de conexión, el
URL base Los campos se rellenan automáticamente según los metadatos. Haga clic en Siguiente.
-
Navegue a la pestaña SSO del navegador pestaña y haga clic en el
Configurar SSO del navegadorSerás redirigido al asistente de configuración de SSO del navegador.
-
Seleccione el elemento SSO iniciado por IdP
SSO iniciado por SP opciones en el Perfiles SAML y haga clic en
Siguiente.
-
Ingrese el tiempo de validez de su afirmación deseada desde el
Vida útil de la aserción y haga clic en Siguiente. Por defecto, está configurado 5 minutos para ambos.
-
Vaya a Creación de aserciones y haga clic en Configurar creación de aserciones. Será redirigido al asistente de configuración de creación de aserciones.
- 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.
-
Seleccione un Instancia de adaptador y hacer clic en
SiguienteEl adaptador debe incluir la dirección de correo electrónico del usuario.
-
Seleccione el elemento
Utilice solo los valores del contrato del adaptador en la aserción SAML opción en el Método de mapeo y haga clic en
Siguiente.
-
Seleccione su instancia de adaptador como
Fuente y el correo electrónico como Valor
en el Cumplimiento del contrato de atributos pestaña y haga clic Siguiente.
-
(Opcional) Seleccione las condiciones de autorización que desee en la página
Criterios de emisión y haga clic en
Siguiente.
- Haga clic en Terminado en el Resumen.
-
Haga clic en Siguiente en el
Asignación de fuentes de autenticación .
- Haga clic en Terminado en la pestaña Resumen.
-
Haga clic en Siguiente en el
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.
-
Seleccione PUBLICAR en el
Enlaces SAML permitidos y haga clic en
Siguiente.
-
Seleccione las políticas de firma que desee para las afirmaciones en el
Política de firma y haga clic en Siguiente.
-
Seleccione la política de cifrado que desee para las afirmaciones en el
Política de cifrado y haga clic en Siguiente.
-
Haga clic en Terminado en el
Resumen de configuración de protocolo .
-
Navegue a la pestaña Credenciales y haga clic en el ícono de
Configurar credenciales. Será redirigido a la
Credenciales asistente de configuración.
-
Seleccione el certificado de firma que desea utilizar 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.
- Haga clic en Terminado en el Resumen.
-
Haga clic en Siguiente en el Credenciales.
-
Seleccione Activo para la
Estado de la conexión en el
Activación y resumen y haga clic en
Guardar.
-
Ahora, navegue hasta el panel de administración de usuarios de Ping Federate y luego proporcione identidad.
-
Haga clic en Gestionar todo bajo Conexiones SP.
-
Haga clic en Exportar metadatos para la conexión del proveedor de servicio deseado.
-
Haga clic en Exportar en el
Exportación y resumen y haga clic en
Hecho.
3. Configure la aplicación Blazor SAML como proveedor de servicios
A continuación se detallan dos formas con las que puede configurar los metadatos de su proveedor de identidad SAML en la aplicación.
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), entonces puede simplemente configurar los metadatos del proveedor de identidad en la aplicación usando el
Cargar metadatos de IDP .
- Puede consultar la captura de pantalla a continuación:
-
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
Certificado SAML X509 campos respectivamente.
- Haga clic en Guardar para guardar los datos de su IDP.
4. Prueba de SSO de SAML
-
Haga clic en el elemento 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.
-
Si experimenta algún error en la aplicación, se le mostrará una ventana similar a la que se muestra a continuación.
- Para solucionar el error, puede seguir los pasos a continuación:
-
En
Solucionar problemas
pestaña, habilite la opción para recibir los registros del complemento.
-
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 menú 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).
-
En el complemento gratuito puedes configurar solo NameID
-
Nota: Todos los atributos mapeados se almacenarán en los claims para que puedas acceder a ellos en tu aplicación..
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 de SSO en su aplicación Blazor.
-
Simplemente copie y pegue ese fragmento de código donde quiera acceder a los atributos del usuario.
-
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;
}
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.
-
Utilice la siguiente URL como enlace en la aplicación desde donde desea realizar SSO:
https://blazor-application-base-url/?ssoaction=login
-
Por ejemplo, puedes usarlo como:
<a href=”https://blazor-application-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://blazor-application-base-url/?ssoaction=logout
-
Por ejemplo, puedes usarlo como:
<a href=”https://blazor-application-base-url/?ssoaction=logout”>Log
out</a>
Para configurar su IDP, puede encontrar los metadatos del proveedor de servicios en el archivo appsetting.json. Para los metadatos de SP, puede consultar la siguiente captura de pantalla:
Desde la toma automática de formatos mediante mininaranja sección, copie gastatyid, acsurl y proporciónelo al equipo de su proveedor de identidad.
-
Una vez que los metadatos del proveedor de servicios estén configurados en el extremo del IdP, se le proporcionará el archivo de metadatos del IdP o la URL de metadatos o URL de metadatos como el ID de entidad del IdP, la URL de SSO del IdP, etc.
-
Para configurar los metadatos de su IDP, navegue hasta
configuración de aplicaciones.json archivo. Encontrarás las siguientes configuraciones en la sección JSON del mininaranja.
-
Para configurar su IDP directamente, navegue hasta
configuración de aplicaciones.json .
-
Configure los metadatos proporcionados apropiados y guarde la configuración.
| idp_cert |
Ingrese el certificado de IDP en este campo |
| agrio |
Ingrese la URL de SSO en este campo |
| idp_emisor |
Ingrese el emisor de IDP en este campo |
Asignación de atributos
-
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.
Código de integración
-
Simplemente copie y pegue el fragmento de código donde desee acceder a los atributos del usuario.
-
Nota: Todos los atributos asignados se almacenarán en la sesión para que pueda acceder a ellos en su aplicación.
string name="";
string claimtype="";
string claimvalue="";
if(User.Identity.IsAuthenticated) {
name= User.Identity.Name;
foreach( var claim in User.Claims) {
claimtype = claim.Type;
claimValue = claim.Value;
}
}
Puede configurar la aplicación de inicio de sesión único (SSO) Blazor SAML 2.0 con cualquier proveedor de identidad, como
ADFS, Microsoft Entra ID (anteriormente 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 su propio proveedor de identidad personalizado. Consulte la lista de proveedores de identidad
aquí.
Más Recursos
¿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.