Sökresultat :

×

ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP


ASP.NET Core SAML Single Sign-On (SSO) middleware ger möjlighet att aktivera SAML Single Sign-On för dina ASP.NET-kärnapplikationer. Genom att använda enkel inloggning kan du bara använda ett lösenord för att komma åt din ASP.NET kärnapplikation och tjänster. Vår mellanprogramvara är kompatibel med alla SAML-kompatibla identitetsleverantörer. Här kommer vi att gå igenom en steg-för-steg-guide för att konfigurera Single Sign-On (SSO) mellan ASP.NET Core och ADFS med tanke på ADFS som IdP. För att veta mer om funktionerna vi tillhandahåller för ASP.NET Core SSO, klicka här..

Plattformssupport: ASP.NET Core SAML-mellanvaran stöder ASP.NET Core 2.0 och senare. Den stöder alla ASP.NET Core-plattformar, inklusive Windows, Linux och macOS.

Förutsättningar: Ladda ner och installation


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();

Steg för att konfigurera ASP.NET Core Single Sign-On (SSO) med ADFS som IDP

1. Lägg till middleware i ASP.NET Core-applikationen

  • Efter integrationen öppnar du din webbläsare och bläddrar i instrumentpanelen för mellanprogram med webbadressen nedan:
    https://<asp-net-middleware-base-url>/?ssoaction=config
  • Om registreringssidan eller inloggningssidan dyker upp har du framgångsrikt lagt till miniOrange ASP.NET SAML SSO-mellanvaran till din applikation.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - saml dll register
  • Registrera dig eller logga in med ditt konto genom att klicka på Registrera för att konfigurera mellanvaran.

2. Konfigurera ADFS som identitetsleverantör

  • Enligt plugin Settings fliken, välj ADFS som din identitetsleverantör från listan som visas.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Välj ADFS som identitetsleverantör

Det finns två sätt som beskrivs nedan med vilka du kan få SAML SP-metadata att konfigurera på 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ör. Under det kan du hitta metadata-URLen 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:
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Kopiera nedladdade metadata
B] Ladda upp metadata manuellt:
  • Från Inställningar för tjänsteleverantör avsnitt, 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:
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Manuell metadata
  • Sök först efter ADFS-hantering applikation på din ADFS-server.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - adfs-server
  • I AD FS Management, välj Relying Party Trust och klicka på Lägg till Relying Party Trust.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Add Relying Party Trust
  • Välja Påståenden medvetna från Relying Party Trust Wizard och klicka på Start knapp.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Claims Aware
miniorange img Välj Datakälla
  • I Välj datakälla väljer du datakällan för att lägga till en förtroende part.

  • Navigera till Tjänsteleverantörens metadata avsnittet från ASP.NET Core SAML-mellanprogramvaran och kopiera Metadata URL.
  • Välja Importera data om den förtroende parten publicerad online eller på det lokala nätverket alternativet och lägg till metadataadressen i Federations metadataadress.
  • Klicka på Nästa.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - stöd för SAML 2.0 Wizard Metadata

    Notera: I nästa steg anger du önskat Visningsnamn och klicka Nästa.

miniorange img Välj Access Control Policy
  • Välja Tillåt alla som en åtkomstkontrollpolicy och klicka på Nästa.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - för SAML 2.0 Wizard Multi-Factor
miniorange img Redo att lägga till förtroende
  • In Redo att lägga till förtroende Klicka på Nästa och då Stänga.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - SAML 2.0 Wizard Edit Claim
miniorange img Redigera kravutgivningspolicy
  • I listan över Relying Party Trust, välj programmet du skapade och klicka på Redigera emissionspolicy för anspråk.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - SAML 2.0 Wizard Edit Claim
  • Klicka på fliken Utgivningstransformeringsregel Lägg till regel knapp.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - för SAML 2.0 Wizard Claim Rule
miniorange img Välj Regeltyp
  • Välja Skicka LDAP-attribut som anspråk och klicka på Nästa.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - för SAML 2.0 Configure_LDAP Attributes
miniorange img Konfigurera anspråksregel
  • Lägg till Anspråk på regelnamn och välj Attributbutik som krävs från rullgardinsmenyn.
  • Enligt Mappning av LDAP-attribut till utgående anspråkstyper, Välj LDAP-attribut som Mejladresser och utgående anspråkstyp som Namn-ID.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - för SAML 2.0 Add Transform Claim Rule
  • När du har konfigurerat attributen klickar du på Finish.
  • Efter att ha konfigurerat ADFS som IDP behöver du Federation Metadata för att konfigurera din tjänsteleverantör.
  • För att få ADFS Federation Metadata kan du använda denna URL
    https://< ADFS_Server_Name >/federationmetadata/2007-06/federationmetadata.xml
  • Du har framgångsrikt konfigurerat ADFS som SAML IdP (Identity Provider) för att uppnå ADFS Single Sign-On (SSO)-inloggning

Windows SSO (valfritt)

Följ stegen nedan för att konfigurera Windows SSO

miniorange img Steg för att konfigurera ADFS för Windows-autentisering
  • Öppna förhöjd kommandotolk på ADFS-servern och kör följande kommando på den:
    • miniorange img setspn -a HTTP/##ADFS Server FQDN## ##Domäntjänstkonto##

      miniorange img FQDN är ett fullständigt kvalificerat domännamn (exempel: adfs4.example.com)

      miniorange img Domain Service Account är användarnamnet för kontot i AD.

      miniorange img Exempel: setspn -a HTTP/adfs.example.com användarnamn/domän

  • Öppna AD FS Management Console, klicka på Tjänster och gå till Autentiseringsmetoder sektion. Klicka på till höger Redigera primära autentiseringsmetoder. Kontrollera Windows-autentisering i intranätzonen.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Primär autentisering ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Management Application
  • Öppna Internet Explorer. Navigera till fliken Säkerhet i Internetalternativ.
  • Lägg till FQDN för AD FS till listan över webbplatser i lokalt intranät och starta om webbläsaren.
  • Välj anpassad nivå för säkerhetszonen. I listan med alternativ väljer du Automatisk inloggning endast i intranätzon.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - för SAML 2.0 Wizard_Enable SAML
  • Öppna powershell och kör följande två kommandon för att aktivera Windows-autentisering i webbläsaren Chrome.
    •   Set-AdfsProperties -WIASupportedUserAgents ((Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Chrome")
        Get-AdfsProperties | Select -ExpandProperty WIASupportedUserAgents;
  • Du har framgångsrikt konfigurerat ADFS för Windows-autentisering.

3. Konfigurera ASP.NET SAML Middleware som tjänsteleverantör

Det finns två sätt som beskrivs nedan med vilka du kan konfigurera din SAML-identitetsleverantörs metadata i mellanvaran.

A] Ladda upp metadata med knappen Ladda upp IDP-metadata:
  • Om din identitetsleverantör har försett dig med metadata-URL eller metadatafil (endast .xml-format) kan du helt enkelt konfigurera identitetsleverantörens metadata i mellanvaran med hjälp av Ladda upp IDP-metadata alternativ.
  • Du kan hänvisa till skärmdumpen nedan:
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Ladda upp metadata
  • 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 Save för att spara dina IDP-uppgifter.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - SAML dll config

4. Testa SAML SSO

  • Klicka på Testkonfiguration för att testa om SAML-konfigurationen du har gjort är korrekt.
  • Skärmdumpen nedan visar ett lyckat resultat. Klicka på SSO-integration för att fortsätta med SSO-integrationen.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - SAML dll Testkonfiguration
  • Om du upplever något fel i middleware-änden kommer du att visas med fönstret som liknar nedan.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Aktivera felsökningsloggar
  • 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.
    • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Aktivera felsökningsloggar
    • 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 aspnetsupport@xecurify.com och vårt team kommer att kontakta dig för att lösa ditt problem.

5. Attributmappning

  • Efter att ha testat konfigurationen, mappa dina applikationsattribut med attributen Identity Provider (IdP).
  • Notera: Alla mappade attribut kommer att lagras i sessionen så att du kan komma åt dem i din applikation.
  • ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - attributmappning

6. Integrationskod

  • Dessa steg låter dig hämta SSO-användarinformationen i din ansökan i form av användaranspråk.
  • Du kan också titta på installationstur för att förstå hur SSO-integreringen skulle fungera i din asp.net-mellanprogramvara.
  • Bara kopiera och klistra in det kodavsnittet där du vill komma åt användarattributen.
  • ASP.NET Core SAML Single Sign-On (SSO) | ASP.NET Core Authentication | ASP.NET Core SAML SSO - integrationskod
  • Notera:Denna provmellanvara stöder endast användarinformation i anspråk, hämtning av användarinformation i session och rubriker är tillgänglig i premiumplugin
  • Du kan också kopiera integrationskoden nedan:
  •           
      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;    }
  • Notera: Alla mappade attribut kommer att lagras i anspråken som ska nås i din applikation.
  • Om du vill ha hjälp med integrationskoden, kontakta oss på aspnetsupport@xecurify.com

7. Inloggningsinställningar

  • Hök på Välj Åtgärder och klicka på Kopiera SSO-länk. ASP.NET Core SAML Single Sign-On (SSO) med ADFS som IDP - Kopiera SSO-länk
  • Använd följande URL som en länk i applikationen där du vill utföra SSO:
    https://asp-net-middleware-base-url/?ssoaction=login
  • Du kan till exempel använda det som:
    <a href=”https://asp-net-middleware-base-url/?ssoaction=login”>Log in</a>

8. Logga ut Inställningar

  • Använd följande URL som en länk till din applikation där du vill utföra SLO:
    https://asp-net-middleware-base-url/?ssoaction=logout
  • Du kan till exempel använda det som:
    <a href=”https://asp-net-middleware-base-url/?ssoaction=logout”>Log out</a>

Du kan konfigurera ASP.NET Core SAML 2.0 Single Sign-On (SSO) mellanprogram med vilken identitetsleverantör som helst som t.ex. 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 eller till och med med din egen anpassad identitetsleverantör. Kontrollera listan över identitetsleverantörer här..

Ytterligare resurser


Behöver hjälp?

Kan du inte hitta din identitetsleverantör? Maila oss vidare aspnetsupport@xecurify.com och vi hjälper dig att ställa in SSO med din IDP och för snabb vägledning (via e-post/möte) om ditt krav och vårt team hjälper dig att välja den bästa lämpliga lösningen/planen enligt dina krav.

Hej där!

Behövs hjälp? Vi är här!

stödja
Kontakta miniOrange Support
framgång

Tack för din förfrågan.

Om du inte hör från oss inom 24 timmar, skicka gärna ett uppföljningsmail till info@xecurify.com