Guide för att konfigurera Umbraco SAML SSO med Keycloak som IDP
Översikt
Umbraco SAML Single Sign-On (SSO) plugin ger möjlighet att aktivera SAML Single Sign-On för dina Umbraco-applikationer. Med Single Sign-On kan du bara använda ett lösenord för att komma åt din Umbraco-applikation och dina tjänster. Vårt plugin är kompatibelt med alla SAML-kompatibla identitetsleverantörer . Här går vi igenom en steg-för-steg-guide för att konfigurera Single Sign-On (SSO) mellan Umbraco och Keycloak med Keycloak som IdP.
Välj din umbraco-version för att konfigurera SSO med:
Förutsättningar: Ladda ner och installation
- Installera från NuGet butik
- Manuell installation
- Installera från NuGet butik
- Manuell installation
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 9.2.3
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 9.2.3
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din startup.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i startup.cs filen för din ansökan.
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();
});
}
}
}
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 10.2.3
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 10.2.3
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din startup.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i startup.cs filen för din ansökan.
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();
});
}
}
}
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 11.2.3
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 11.2.3
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din program.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i program.cs filen för din ansökan.
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();
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 12.2.3
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 12.2.3
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din program.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i program.cs filen för din ansökan.
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();
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 13.2.3
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 13.2.3
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din program.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i program.cs filen för din ansökan.
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();
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 14.2.3
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 14.2.3
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din program.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i program.cs filen för din ansökan.
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();
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 15.2.4
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 15.2.4
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din program.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i program.cs filen för din ansökan.
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();
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 16.2.4
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 16.2.4
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din program.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i program.cs filen för din ansökan.
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();
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 17.2.4
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 17.2.4
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din program.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i program.cs filen för din ansökan.
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();
- Kör programmet när konfigurationen är klar.
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login -Version 18.0.0
> dotnet lägg till paketet miniOrange.Umbraco.SAML.SSO.Login --version 18.0.0
- Ladda ner Umbraco SAML Single Sign-On (SSO) mellanprogram.
- För att konfigurera mellanprogramvaran måste du lägga till nedanstående namnrymder, tjänster och mellanprogramvara i din program.cs fil (markerad med grönt), nedan är ett exempel.
Inkludera endast det markerade avsnittet nedan i program.cs filen för din ansökan.
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();
- Kör programmet när konfigurationen är klar.
Konfigurationssteg
Steg-för-steg-guide för Umbraco SAML SSO med Keycloak som identitetsleverantör.
1. Gå till Umbraco SAML Plugin-instrumentpanelen
- Efter integreringen öppnar du din webbläsare och bläddrar i anslutningspanelen med webbadressen nedan:
https://<umbraco-base-url>/?ssoaction=config
- Om registreringssidan eller inloggningssidan dyker upp har du lagt till miniOrange SAML SSO-mellanprogramvaran i din applikation.
- Registrera dig eller logga in med ditt konto genom att klicka på Registrera för att konfigurera mellanvaran.
- Efter lyckad registrering får du en testlicensnyckel till din registrerade e-postadress.
- För att aktivera mellanprogramvaran kan du antingen:
- Ange licensnyckel mottagen via e-post i det angivna inmatningsfältet.
- Ladda upp licensfilen som du laddade ner genom att klicka på Klicka här knapp.
OR
- Markera sedan rutan "Jag har läst ovanstående villkor och jag vill aktivera mellanprogramvaran" och klicka på Aktivera licens knapp.
2. Tillhandahåll Umbraco-applikationens metadata till Keycloak-identitetsleverantören
Det finns två sätt som beskrivs nedan för att hämta SAML SP-metadata för konfigurering hos din identitetsleverantör.
A] Använda SAML-metadata-URL eller metadatafil
- I Menyn för plugininställningar, leta efter Inställningar för tjänsteleverantörUnder den hittar du metadata-URL:en samt möjligheten att ladda ner SAML-metadata.
- Kopiera metadata-URL eller ladda ned metadatafilen för att konfigurera densamma på din identitetsleverantör.
- Du kan hänvisa till skärmdumpen nedan:
B] Ladda upp metadata manuellt
- Från Inställningar för tjänsteleverantör avsnittet kan du manuellt kopiera tjänsteleverantörens metadata, som SP Entity ID, ACS URL, Single Logout URL och dela den med din identitetsleverantör för konfiguration.
- Du kan hänvisa till skärmdumpen nedan:
Steg för att konfigurera Keycloak IdP
- I din nyckelmantel Administration konsolen, välj riket som du vill använda.
- Klicka på Klienter från den vänstra menyn och klicka sedan på Skapa klient knappen för att skapa en ny klient/applikation.
- Välja SAML as Klienttyp, stiga på SP-EntityID / Emittent som kund-ID från Tjänsteleverantörens metadata fliken i plugin-programmet, ange Namn av din ansökan och gå in BESKRIVNING.
- Klicka på Nästa knapp.
- Ange detaljer enligt nedan:
| Rot-URL | Lämna tomt eller ge Grundadress från fliken Service Provider Metadata |
| Giltiga omdirigerings-URI:er | Ocuco-landskapet ACS (Assertion Consumer Service) URL från fliken Service Provider Metadata |
- Klicka på Spara knapp.
- I Inställningar fliken under SAML-funktioner sektion, konfigurera Keycloak genom att tillhandahålla nödvändiga detaljer:
| Tvinga POST-bindning | AV |
| Forcera namn-ID-format | AV |
| Namn ID-format | E-post |
- I Nycklar fliken, inaktivera Klientsignatur krävs växla.
- Klicka på Spara knapp.
- In Advanced Open water flik, under Finkornig SAML-ändpunktskonfigurationanger du följande uppgifter:
| Assertion Consumer Service POST Bindande URL | Ocuco-landskapet ACS (Assertion Consumer Service) URL från fliken Service Provider Metadata |
| Logga ut Service Redirect Bindande URL (Tillval) | Ocuco-landskapet URL för enkel utloggning från fliken Service Provider Metadata |
- Klicka på Spara knapp.
Lägg till Mappers
- Navigera till Fliken Mappers och klicka på Lägg till inbyggd knapp.
- Markera kryssrutorna för X500 givenName, X500 efternamn och X500 e-post attribut.
- Klicka på Lägg till valda knapp. Du kommer att se de mappningar som läggs till nedan.
- In Kundomfång klicka på din ansökan.
- Klicka på Lägg till fördefinierad kartläggare.
- Markera kryssrutorna för X500 givenName, X500 efternamn och X500 e-post attribut.
- Klicka på Lägg till knapp.
- Du kommer att se de mappningar som läggs till nedan.
- I Kundomfång klicka på din ansökan.
- Klicka på Lägg till fördefinierad kartläggare.
- Markera kryssrutorna för X500 givenName, X500 efternamn och X500 e-post attribut.
- Klicka på Lägg till knapp.
- Du kommer att se de mappningar som läggs till nedan.
Ladda ner installationsfilen
- Navigera till Realm Inställningar, Klicka på SAML 2.0 Identity Provider Metadata nämns som Endpoints i Fliken Allmänt.
- Notera URL:en och ha den till hands. Det kommer att förse dig med endpoints krävs för att konfigurera plugin-programmet.
- Navigera till Realm Inställningar, Klicka på SAML 2.0 Identity Provider Metadata nämns som Endpoints i Fliken Allmänt.
- Notera URL:en och ha den till hands. Det kommer att förse dig med endpoints krävs för att konfigurera plugin-programmet.
- Navigera till Realm Inställningar, Klicka på SAML 2.0 Identity Provider Metadata nämns som Endpoints i Allmänt fliken.
- Notera URL:en och ha den till hands. Det kommer att förse dig med endpoints krävs för att konfigurera plugin-programmet.
Du har konfigurerat Keycloak som SAML IDP (identitetsleverantör) för att uppnå Umbraco Single Sign-On (SSO).
3. Konfigurera metadata för Keycloak-identitetsleverantörer i Umbraco-applikationen
- Klicka på Lägg till ny IDP knappen för att konfigurera en ny identitetsleverantör.
- Enligt plugin Settings fliken, välj nyckelmantel som din identitetsleverantör från listan som visas.
Det finns två sätt som beskrivs nedan med vilka du kan konfigurera din SAML Identity Provider-metadata i mellanvaran.
A] Ladda upp metadata med knappen Ladda upp IDP-metadata:
- Om din identitetsleverantör har försett dig med metadata-URL:en eller metadatafilen (endast .xml-format) kan du helt enkelt konfigurera identitetsleverantörens metadata i mellanprogramvaran med hjälp av Ladda upp IDP-metadata alternativ.
- Kopiera metadata-URL eller ladda ned metadatafilen för att konfigurera densamma på din identitetsleverantör.
- Du kan hänvisa till skärmdumpen nedan:
- Du kan välja vilket som helst av alternativen enligt det metadataformat du har tillgängligt.
B] Konfigurera identitetsleverantörens metadata manuellt:
- Efter att ha konfigurerat din Identitetsleverantör, kommer det att ge dig IDP Entity ID, IDP Single Sign On URL och SAML X509-certifikat fält respektive.
- Klicka Spara för att spara dina IDP-uppgifter.
4. Testa SAML SSO
- Efter att du har laddat upp metadatadetaljerna, navigera till Inställningar för identitetsleverantör sektionen. Håll muspekaren över Välj Åtgärder rullgardinsmenyn och klicka på Testkonfiguration.
- Skärmdumpen nedan visar ett lyckat resultat. Klicka på SSO-integration för att fortsätta med SSO-integrationen.
- Om du upplever något fel i mellanprogramvaran visas ett fönster som liknar det nedan.
- För att felsöka felet kan du följa stegen nedan:
- Enligt felsöka fliken, aktivera växeln för att ta emot pluginloggarna.
- När det är aktiverat kommer du att kunna hämta pluginloggar genom att navigera till plugin Settings fliken och klicka på Testkonfiguration.
- ladda ner loggfil från felsöka fliken för att se vad som gick fel.
- Du kan dela loggfil med oss kl umbracosupport@xecurify.com och vårt team kommer att kontakta dig för att lösa ditt problem.
Umbraco-inloggningstyp
- Efter detta, välj Inloggningstyp från rullgardinsmenyn till höger på sidan Inställningar för identitetsleverantör.
- Du kan välja mellan BackOffice, Medlem, eller Baserat på anpassade attribut.
- Obs: Ocuco-landskapet Baserat på anpassade attribut inloggningstypen är tillgänglig i Premium och Företag versioner.
5. Attributmappning
- Attributmappning, rollmappning och domänbegränsning finns tillgängliga i Premium och Företag versioner av mellanprogramvaran.
6. Inloggningsinställningar
- Hök på Välj Åtgärder och klicka på Kopiera SSO-länk.
- Använd följande URL som en länk i applikationen där du vill utföra SSO:
https://<umbraco-base-url>/?ssoaction=login
- Du kan till exempel använda det som:
<a href="https://<umbraco-base-url>/?ssoaction=login">Log in</a>
7. Logga ut Inställningar
- Använd följande URL som en länk till din applikation där du vill utföra SLO:
https://<umbraco-base-url>/?ssoaction=logout
- Du kan till exempel använda det som:
<a href="https://<umbraco-base-url>/?ssoaction=logout">Log out</a>
Relaterade artiklar
Tack för ditt svar. Vi återkommer snart.
Något gick fel. Skicka din fråga igen
