Guía para configurar Umbraco SAML SSO usando Keycloak como proveedor de identidad
Resumen
El plugin de inicio de sesión único (SSO) SAML de Umbraco permite habilitar el inicio de sesión único SAML para tus aplicaciones Umbraco. Con el inicio de sesión único, puedes usar una sola contraseña para acceder a tu aplicación y servicios Umbraco . Nuestro plugin es compatible con todos los proveedores de identidad compatibles con SAML . A continuación, te mostramos una guía paso a paso para configurar el inicio de sesión único (SSO) entre Umbraco y Keycloak, considerando a Keycloak como proveedor de identidad.
Seleccione su versión de umbraco para configurar SSO con:
Requisitos previos: descarga e instalación
- Instalar desde la tienda NuGet
- Instalación manual
- Instalar desde la tienda NuGet
- Instalación manual
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 9.2.3
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 9.2.3
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su inicio.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el inicio.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
namespace Application
{
public class Startup
{
// Add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddUmbraco(_env, _config)
.AddBackOffice()
.AddWebsite()
.AddComposers()
.Build();
services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseInstallerEndpoints();
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
}
}
}
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 10.2.3
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 10.2.3
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su inicio.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el inicio.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
namespace Application
{
public class Startup
{
// Add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddUmbraco(_env, _config)
.AddBackOffice()
.AddWebsite()
.AddComposers()
.Build();
services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseInstallerEndpoints();
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
}
}
}
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 11.2.3
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 11.2.3
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 12.2.3
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 12.2.3
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 13.2.3
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 13.2.3
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 14.2.3
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 14.2.3
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 15.2.4
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 15.2.4
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 16.2.4
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 16.2.4
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 17.2.4
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 17.2.4
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- Ejecute la aplicación cuando finalice la configuración.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Versión 18.0.0
> dotnet agregar paquete miniOrange.Umbraco.SAML.SSO.Login --versión 18.0.0
- Descargar Middleware de inicio de sesión único (SSO) SAML de Umbraco.
- Para configurar el middleware, deberá agregar los siguientes espacios de nombres, servicios y middleware en su programa.cs archivo (marcado en verde), a continuación se muestra un ejemplo.
Incluya solo la sección resaltada a continuación en el programa.cs archivo de su solicitud.
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- Ejecute la aplicación cuando finalice la configuración.
Pasos de configuración
Guía paso a paso para el inicio de sesión único (SSO) SAML de Umbraco utilizando Keycloak como proveedor de identidad.
1. Acceda al panel de control del plugin SAML de Umbraco.
- Después de la integración, abra su navegador y navegue hasta el panel del conector con la siguiente URL:
https://<umbraco-base-url>/?ssoaction=config
- Si aparece la página de registro o la página de inicio de sesión, habrá agregado exitosamente el middleware miniOrange SAML SSO en su aplicación.
- Regístrese o inicie sesión con su cuenta haciendo clic en Registrarse para configurar el middleware.
- Después de registrarse exitosamente, recibirá una clave de licencia de prueba en su dirección de correo electrónico registrada.
- Para activar el middleware, puede:
- Escriba el clave de licencia Recibido por correo electrónico en el campo de entrada provisto.
- Sube el archivo de licencia que descargaste haciendo clic en el Haga clic aquí .
OR
- A continuación, marque la casilla "He leído las condiciones anteriores y deseo activar el middleware" y haga clic en el botón Activar licencia .
2. Proporcionar metadatos de la aplicación Umbraco al proveedor de identidades de Keycloak.
A continuación se detallan dos formas con las que puede obtener los metadatos de SAML SP para configurarlos en el extremo de su proveedor de identidad.
A] Uso de URL de metadatos SAML o archivo de metadatos
- En la sección Menú de configuración del complemento, buscar Configuración del proveedor de serviciosDebajo, 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] Carga manual de metadatos
- En el campo Configuración del proveedor de servicios En la 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:
Pasos para configurar Keycloak IdP
- En tu capa de llaves Administración consola, seleccione el reino que desea utilizar.
- Haga clic en Nuestros Clientes en el menú de la izquierda y luego haga clic en Crear cliente para crear un nuevo cliente/aplicación.
- Seleccionar SAML as Tipo de cliente, introduzca SP-EntityID / Emisor como el ID de cliente del menú Metadatos del proveedor de servicios pestaña del complemento, ingrese Nombre de su solicitud e ingrese Mareas Ideales para Lecciones .
- Haga clic en el elemento Siguiente .
- Proporcione los detalles como se menciona a continuación:
| URL raíz | Dejar vacío o proporcionar URL base desde la pestaña Metadatos del proveedor de servicios |
| URI de redireccionamiento válidos | El URL de ACS (servicio al consumidor de afirmaciones) desde la pestaña Metadatos del proveedor de servicios del complemento |
- Haga clic en Guardar .
- En la sección Configuración lengüeta debajo Capacidades SAML sección, configure Keycloak proporcionando los detalles requeridos:
| Forzar enlace POST | OFF |
| Forzar formato de ID de nombre | OFF |
| Formato de identificación de nombre | Correo electrónico |
- En la sección Teclados pestaña, deshabilite la Se requiere firma del cliente palanca.
- Haga clic en el elemento Guardar .
- In Avanzado pestaña, debajo Configuración de punto final SAML de grano fino, introduzca los siguientes datos:
| URL de enlace POST del servicio al consumidor de aserciones | El URL de ACS (servicio al consumidor de afirmaciones) desde la pestaña Metadatos del proveedor de servicios del complemento |
| URL de enlace de redireccionamiento del servicio de cierre de sesión (Opcional) | El URL de cierre de sesión único desde la pestaña Metadatos del proveedor de servicios del complemento |
- Haga clic en Guardar .
Agregar mapeadores
- Navegue a Pestaña de asignadores y haga clic en Agregar incorporado .
- Seleccione las casillas de verificación de X500 nombre dado, apellido X500 y correo electrónico x500 los atributos.
- Haga clic en Agregar seleccionados botón. Verá las asignaciones que se agregan a continuación.
- In Ámbitos de cliente pestaña, haga clic en su aplicación.
- Haga clic en Agregar asignador predefinido.
- Seleccione las casillas de verificación de X500 nombre dado, apellido X500 y correo electrónico x500 los atributos.
- Haga clic en Agregar .
- Verá las asignaciones que se agregan a continuación.
- En la sección Ámbitos de cliente pestaña, haga clic en su aplicación.
- Haga clic en Agregar asignador predefinido.
- Seleccione las casillas de verificación de X500 nombre dado, apellido X500 y correo electrónico x500 los atributos.
- Haga clic en el elemento Agregar .
- Verá las asignaciones que se agregan a continuación.
Descargar archivo de instalación
- Navegue a Configuración del reino, haga clic en Metadatos del proveedor de identidad SAML 2.0 mencionados como puntos finales en el Pestaña General.
- Anota la URL y tenla a mano. Eso le proporcionará la Endpoints necesario para configurar el complemento.
- Navegue a Configuración del reino, haga clic en Metadatos del proveedor de identidad SAML 2.0 mencionados como puntos finales en el Pestaña General.
- Anota la URL y tenla a mano. Eso le proporcionará la Endpoints necesario para configurar el complemento.
- Navegue a Configuración del reino, haga clic en Metadatos del proveedor de identidad SAML 2.0 mencionados como puntos finales en el General .
- Anota la URL y tenla a mano. Eso le proporcionará la Endpoints necesario para configurar el complemento.
Ha configurado correctamente Keycloak como proveedor de identidad SAML (IDP) para lograr el inicio de sesión único (SSO) de Umbraco.
3. Configurar los metadatos del proveedor de identidad de Keycloak en la aplicación Umbraco.
- Haga clic en el elemento Agregar nuevo IDP Botón para configurar un nuevo proveedor de identidad.
- En la sección Ajustes Plugin seleccione el módulo Capa clave como su proveedor de identidad de la lista que se muestra.
A continuación se detallan dos formas 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), entonces puede simplemente configurar los metadatos del proveedor de identidad en el middleware utilizando el Cargar metadatos de IDP .
- 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:
- 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.
4. Prueba de SSO de SAML
- Después de cargar los detalles de los metadatos, navegue hasta el Configuración del proveedor de identidad sección. Pase el cursor sobre el Seleccionar acciones desplegable y haga clic en Configuración de prueba.
- 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 el middleware, verá 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 Toca para ver qué salió mal.
- Puedes compartir el archivo de registro con nosotros en umbracosupport@xecurify.com y nuestro equipo se comunicará con usted para resolver su problema.
Tipo de inicio de sesión de Umbraco
- Después de esto, seleccione el Tipo de inicio de sesión desde el menú desplegable en el lado derecho de la página de Configuración del proveedor de identidad.
- Puede elegir entre BackOffice, Miembro, o Atributo personalizado basado en.
- Nota: El Atributo personalizado basado en El tipo de inicio de sesión está disponible en el Premium y Empresa versiones.
5. Mapeo de atributos
- La asignación de atributos, la asignación de roles y la restricción de dominio están disponibles en el Premium y Empresa versiones del middleware.
6. 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 el SSO:
https://<umbraco-base-url>/?ssoaction=login
- Por ejemplo, puedes usarlo como:
<a href="https://<umbraco-base-url>/?ssoaction=login">Log in</a>
7. Configuración de cierre de sesión
- Utilice la siguiente URL como enlace a su aplicación desde donde desea realizar SLO:
https://<umbraco-base-url>/?ssoaction=logout
- Por ejemplo, puedes usarlo como:
<a href="https://<umbraco-base-url>/?ssoaction=logout">Log out</a>
Artículos Relacionados
Gracias por su respuesta. Nos pondremos en contacto con usted pronto.
Algo salió mal. Por favor envíe su consulta nuevamente
