Guide för att konfigurera ASP.NET Framework SAML SSO med Shibboleth-2 som IDP
Översikt
ASP.NET SAML Single Sign-On (SSO)-modul ger möjlighet att aktivera SAML enkel inloggning för dina ASP.NET-applikationer. Använda Enskilt inloggning du kan bara använda ett lösenord för att komma åt din ASP.NET-applikation och tjänster. Vår modul är kompatibel med alla SAML-kompatibla identitetsleverantörerHär går vi igenom en steg-för-steg-guide för att konfigurera Enkel inloggning (SSO) mellan ASP.NET och Shibboleth-2 med tanke på Shibboleth-2 som IdP.
Plattformssupport: ASP.NET SAML SSO-modulen stöder ASP.NET 3.5 och senare ramverk.
Förutsättningar: Ladda ner och installation
- För att installera miniOrange SAML SSO NuGet-paket I din .NET-applikation installerar du helt enkelt miniOrange NuGet-paketet ovanpå din applikation.
PM> NuGet\Install-Package miniOrange.SAML.SSO
- Efter installationen öppnar du webbläsaren och bläddrar i modulens instrumentpanel med URL:en nedan:
http(s)<your-dotnet-application-base-url>?ssoaction=config
- Om registreringssidan eller inloggningssidan dyker upp har du lagt till miniOrange SAML SSO-modulen i din applikation.
- Registrera dig eller logga in med ditt konto genom att klicka på Registrera för att konfigurera modulen.
- Efter lyckad registrering får du en testlicensnyckel till din registrerade e-postadress.
- För att aktivera modulen 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 modulen" och klicka på Aktivera licens knapp.
Konfigurationssteg
1. Tillhandahåll .NET-applikationsmetadata till Shibboleth-2-identitetsleverantören
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:
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:
-
I conf/idp.properties, avkommentera och ställ in 'idp.encryption.optional' till true.
t.ex. idp.encryption.optional = sant
- In conf/förlitande-party.xml, konfigurera tjänsteleverantören så här
<MetadataProviderxsi:type="InlineMetadataProvider"
xmlns="urn:mace:shibboleth:2.0:metadata" id="MyInlineMetadata">
<EntitiesDescriptorxmlns="urn:oasis:names:tc:SAML:2.0:metadata">
<md:EntityDescriptorxmlns:md="urn:oasis:names:tc:SAML:2
entityID="<ENTITY_ID_FROM_PLUGIN>">
<md:SPSSODescriptorAuthnRequestsSigned="false"
WantAssertionsSigned="true" protocolSupportEnumeration = "urn:oasis:names:tc:SAML:2.0:protocol">
<md:nameidformat>urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress</md:NameIDFormat>
<md:AssertionConsumerServiceBinding="urn:oasis:names:tc:SAML:2.0:bindings:https-POST"
Location="<ACS_URL_FROM_PLUGIN>" index="1"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
</EntitiesDescriptor>
</MetadataProvider>
</md:nameidformat>
- Se till att din Shibboleth-server skickar E-postadress av användaren i Namn-ID. I attribute-resolver.xml hämtar du e-postattributet som Name ID:
<resolver:AttributeDefinitionxsi:type="ad:Simple" id="email" sourceAttributeID="mail">
<resolver:Dependency ref="ldapConnector" />
<resolver:AttributeEncoderxsi:type="enc:SAML2StringNameID"
nameFormat="urn:oasis:names:tc:SAML:1.1:
nameid-format:emailAddress"/>
</resolver:AttributeDefinition>
- Släpp e-postattributet i attribute-filter.xml:
<afp:AttributeFilterPolicy id="releaseTransientIdToAnyone">
<afp:PolicyRequirementRulexsi:type="basic:ANY"/>
<afp:AttributeRuleattributeID="email">
<afp:PermitValueRulexsi:type="basic:ANY"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
- Starta om Shibboleth-servern.
- Du måste konfigurera dessa slutpunkter i ASP.NET SAML-modulen.
| IDP-enhets-ID | https://<your_domain>/idp/shibboleth |
| URL för enkel inloggning | https://<your_domain>/idp/profile/SAML2/Redirect/SSO |
| X.509-certifikat | Det offentliga nyckelcertifikatet för din Shibboleth-server |
- Du har konfigurerat Shibboleth-2 som SAML IdP (identitetsleverantör) för att uppnå Shibboleth SSO-inloggning i din ASP.NET-applikation.
2. Konfigurera Shibboleth-2-identitetsleverantörens metadata i .NET-applikationen
- Klicka på Välj din IDP knappen för att konfigurera en ny identitetsleverantör.
- Enligt plugin Settings fliken, välj Shibboleth-2 som din identitetsleverantör från listan som visas.
Det finns två sätt som beskrivs nedan för att konfigurera din SAML-identitetsleverantörs metadata i modulen.
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 modulen 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.
3. 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 modulens ände kommer du att visas med fönstret som liknar 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 aspnetsupport@xecurify.com och vårt team kommer att kontakta dig för att lösa ditt problem.
4. Attributmappning
- Efter att ha testat konfigurationen, mappa dina applikationsattribut med attributen Identity Provider (IdP).
- Från vänstermenyn i miniOrange ASP.NET SAML SSO-modulen klickar du på Attribut/rollmappning fliken som visas på bilden.
- Om du vill skicka ytterligare attribut från din IdP anger du attributnamnet och motsvarande attributvärde under Anpassad attributmappning.
- Obs: Alla mappade attribut kommer att lagras i sessionen så att du kan komma åt dem i din applikation.
- När attributen är mappade klickar du på Spara attributmappning att tillämpa ändringar.
5. Integrationskod
- Med de här stegen kan du hämta SSO-användarinformationen i din applikation i form av en session.
- Du kan också titta på installationstur för att förstå hur SSO-integrationen skulle fungera i din asp.net-modulapplikation.
- Bara kopiera och klistra in det kodavsnittet där du vill komma åt användarattributen.
- Obs: Med testmodulen lagras de autentiserade användaruppgifterna i sessionsvariabler. Stöd för att ställa in användaranspråk med hjälp av Header-baserad, Forms-Cookie-baserad och JWT-baserad autentisering finns tillgängligt i vårt premium-plugin.
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://<asp.net-module-base-url>/?ssoaction=login
- Du kan till exempel använda det som:
<a href="https://<asp.net-module-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://<asp.net-module-base-url>/?ssoaction=logout
- Du kan till exempel använda det som:
<a href="https://<asp.net-module-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
