ASP.NET Core SAML Single Sign-On (SSO)
Middleware bietet die Möglichkeit, SAML Single Sign-On für Ihre ASP.NET-Kernanwendungen zu aktivieren. Mit Single Sign-On können Sie nur ein Passwort verwenden, um auf Ihre ASP.NET-Kernanwendung und -Dienste zuzugreifen. Unsere Middleware ist mit allen SAML-kompatiblen Identitätsanbietern kompatibel. Hier gehen wir eine Schritt-für-Schritt-Anleitung durch, um Single Sign-On (SSO) zwischen ASP.NET Core und ADFS unter Berücksichtigung von ADFS als IdP zu konfigurieren. Um mehr über die Funktionen zu erfahren, die wir für ASP.NET Core SSO bereitstellen, klicken Sie auf
Here.
Plattformunterstützung: Die ASP.NET Core SAML-Middleware unterstützt ASP.NET Core 2.0 und höher. Es unterstützt alle ASP.NET Core-Plattformen, einschließlich Windows, Linux und macOS.
Voraussetzungen: Download und Installation
Hinweis: Um die miniOrange ASP.NET SAML SSO-Middleware in Ihre Anwendung zu integrieren, müssen Sie Ihrem Projekt die folgenden Namespaces, Dienste und Middleware hinzufügen (grün markiert). Nachfolgend finden Sie ein Beispielbeispiel
using miniOrange.saml;
using System.Reflection;
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration {get;}
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseCookiePolicy();
app.UseAuthentication();
#if NET9_0_OR_GREATER
app.MapStaticAssets();
#else
app.UseStaticFiles();
#endif
app.UseminiOrangeSAMLSSOMiddleware();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
}
using miniOrange.saml;
using System.Reflection;
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();
#if NET9_0_OR_GREATER
app.MapStaticAssets();
#else
app.UseStaticFiles();
#endif
app.UseminiOrangeSAMLSSOMiddleware();
app.Run();
Schritte zum Konfigurieren von ASP.NET Core Single Sign-On (SSO) mit ADFS als IDP
1. Fügen Sie Middleware zur ASP.NET Core-Anwendung hinzu
-
Öffnen Sie nach der Integration Ihren Browser und durchsuchen Sie das Middleware-Dashboard mit der folgenden URL:
https://<asp-net-middleware-base-url>/?ssoaction=config
-
Wenn die Registrierungs- oder Anmeldeseite angezeigt wird, haben Sie die miniOrange ASP.NET SAML SSO-Middleware erfolgreich zu Ihrer Anwendung hinzugefügt.
-
Registrieren Sie sich oder melden Sie sich mit Ihrem Konto an, indem Sie auf klicken Registrieren Klicken Sie auf die Schaltfläche, um die Middleware zu konfigurieren.
2. Konfigurieren Sie ADFS als Identitätsanbieter
-
Unter dem Plugin-Einstellungen Registerkarte, wählen Sie ADFS Wählen Sie aus der angezeigten Liste Ihren Identitätsanbieter aus.
Im Folgenden werden zwei Möglichkeiten beschrieben, mit denen Sie die SAML-SP-Metadaten zur Konfiguration auf der Seite Ihres Identitätsanbieters abrufen können.
A] Verwendung der SAML-Metadaten-URL oder Metadatendatei:
-
Im Menü „Plugin-Einstellungen“., suchen
Dienstanbietereinstellungen. Darunter finden Sie die Metadaten-URL sowie die Möglichkeit, die SAML-Metadaten herunterzuladen.
-
Kopieren Sie die Metadaten-URL oder laden Sie die Metadatendatei herunter, um sie bei Ihrem Identitätsanbieter zu konfigurieren.
- Sie können sich auf den Screenshot unten beziehen:
B] Metadaten manuell hochladen:
-
Von dem Dienstanbietereinstellungen Im Abschnitt können Sie die Metadaten des Dienstanbieters manuell kopieren
SP-Entitäts-ID, ACS-URL, Single-Logout-URL
und geben Sie es zur Konfiguration an Ihren Identitätsanbieter weiter.
- Sie können sich auf den Screenshot unten beziehen:
-
Suchen Sie zuerst nach ADFS-Verwaltung Anwendung auf Ihrem ADFS-Server.
-
Wählen Sie in der AD FS-Verwaltung aus Vertrauen der vertrauenden Partei und klicken Sie auf
Vertrauensstellung der vertrauenden Seite hinzufügen.
-
Tag auswählen Ansprüche bewusst aus dem Relying Party Trust Wizard und klicken Sie auf Start .
-
Wählen Sie unter Datenquelle auswählen die Datenquelle zum Hinzufügen einer Vertrauensstellung der vertrauenden Seite aus.
-
Navigieren Metadaten des Dienstanbieters Abschnitt der ASP.NET SAML-Middleware, um die Endpunkte dazu zu bringen, den Dienstanbieter manuell zu konfigurieren.
-
In Assistent zum Hinzufügen einer Vertrauensstellung der vertrauenden Seite wähle eine Option
Geben Sie die Daten zur vertrauenden Seite manuell ein und klicken Sie auf
Weiter.
Geben Sie den Anzeigenamen an
- Enter Display Name und Klicken Sie auf Next.
Zertifikat konfigurieren (Premium-Funktion)
-
Laden Sie das Zertifikat herunter von Registerkarte „Metadaten des Dienstanbieters“..
- Laden Sie das Zertifikat hoch und klicken Sie auf Next.
URL konfigurieren
-
Tag auswählen
Aktivieren Sie die Unterstützung für das SAML 2.0 WebSSO-Protokoll Option und geben Sie ein ACS-URLvon den Plugins
Metadaten des Dienstanbieters Tab.
- Klicke auf Weiter.
Bezeichner konfigurieren
-
Im Vertrauenskennung der vertrauenden Seite, Ergänzen Sie die
SP-EntityID / Aussteller von den Plugins
Metadaten des Dienstanbieters Tab.
Wählen Sie Zugriffskontrollrichtlinie
-
Tag auswählen Erlaube allen als Zugriffskontrollrichtlinie und klicken Sie auf
Next.
Bereit, Vertrauen hinzuzufügen
-
In Bereit, Vertrauen hinzuzufügen Klicken Sie auf Next und dann
Menu.
Bearbeiten Sie die Anspruchsausstellungsrichtlinie
-
In der Liste von Vertrauen der vertrauenden Partei, wählen Sie die von Ihnen erstellte Anwendung aus und klicken Sie auf Anspruchsausstellungsrichtlinie bearbeiten.
- Klicken Sie auf der Registerkarte „Issuance Transform Rule“ auf Regel hinzufügen .
Wählen Sie Regeltyp
-
Tag auswählen Senden Sie LDAP-Attribute als Ansprüche und klicken Sie auf Next.
Anspruchsregel konfigurieren
-
Hinzufügen Name der Anspruchsregel und wählen Sie die Attributspeicher nach Bedarf aus der Dropdown-Liste.
-
Der Zuordnung von LDAP-Attributen zu ausgehenden Anspruchstypen, Wählen Sie LDAP-Attribut als E-mailadressen und Ausgehender Anspruchstyp als
Name ID.
- Nachdem Sie die Attribute konfiguriert haben, klicken Sie auf Farbe.
-
Nachdem Sie ADFS als IDP konfiguriert haben, benötigen Sie das
Föderationsmetadaten um Ihren Dienstanbieter zu konfigurieren.
-
Um die ADFS-Verbundmetadaten abzurufen, können Sie diese URL verwenden
https://< ADFS_Server_Name
>/federationmetadata/2007-06/federationmetadata.xml
-
Sie haben ADFS erfolgreich als SAML-IdP (Identitätsanbieter) für die ADFS Single Sign-On (SSO)-Anmeldung konfiguriert
Windows-SSO (optional)
Führen Sie die folgenden Schritte aus, um Windows SSO zu konfigurieren
Schritte zum Konfigurieren von ADFS für die Windows-Authentifizierung
3. Konfigurieren Sie ASP.NET SAML Middleware als Dienstanbieter
Im Folgenden werden zwei Möglichkeiten beschrieben, mit denen Sie die Metadaten Ihres SAML-Identitätsanbieters in der Middleware konfigurieren können.
A] Metadaten über die Schaltfläche „IDP-Metadaten hochladen“ hochladen:
-
Wenn Ihr Identitätsanbieter Ihnen die Metadaten-URL oder Metadatendatei (nur .xml-Format) bereitgestellt hat, können Sie die Metadaten des Identitätsanbieters einfach in der Middleware mithilfe von konfigurieren
Laden Sie IDP-Metadaten hoch .
- Sie können sich auf den Screenshot unten beziehen:
-
Sie können eine der Optionen entsprechend dem verfügbaren Metadatenformat auswählen.
B] Konfigurieren Sie die Metadaten des Identitätsanbieters manuell:
-
Nach der Konfiguration Ihres Identitätsanbieter, es wird Ihnen zur Verfügung gestellt IDP-Entitäts-ID, IDP-Single-Sign-On-URL und
SAML X509-Zertifikat Felder bzw.
- Klicke Gespeichert um Ihre IDP-Daten zu speichern.
4. Testen von SAML SSO
-
Klicken Sie auf Testkonfiguration Klicken Sie auf die Schaltfläche, um zu testen, ob die von Ihnen vorgenommene SAML-Konfiguration korrekt ist.
-
Der Screenshot unten zeigt ein erfolgreiches Ergebnis. Klicke auf
SSO-Integration um die SSO-Integration weiter fortzusetzen.
-
Wenn auf der Middleware-Seite ein Fehler auftritt, wird ein Fenster angezeigt, das dem folgenden ähnelt.
- Um den Fehler zu beheben, können Sie die folgenden Schritte ausführen:
-
Der
Problembehandlung
Aktivieren Sie auf der Registerkarte den Schalter, um die Plugin-Protokolle zu empfangen.
-
Nach der Aktivierung können Sie Plugin-Protokolle abrufen, indem Sie zu navigieren
Plugin-Einstellungen Tab und klicken Sie auf Testkonfiguration.
-
Laden Sie Logdatei von dem Problembehandlung Tab, um zu sehen, was schief gelaufen ist.
-
Sie können die teilen Logdatei bei uns bei
aspnetsupport@xecurify.com
und unser Team wird sich mit Ihnen in Verbindung setzen, um Ihr Problem zu lösen.
5. Attributzuordnung
-
Nachdem Sie die Konfiguration getestet haben, ordnen Sie Ihre Anwendungsattribute den Identitätsanbieterattributen (IdP) zu.
-
Hinweis: Alle zugeordneten Attribute werden in der Sitzung gespeichert, sodass Sie in Ihrer Anwendung darauf zugreifen können.
6. Integrationscode
-
Mit diesen Schritten können Sie die SSO-Benutzerinformationen in Ihrer Anwendung in Form von Benutzeransprüchen abrufen.
-
Sie können auch nachschauen Aufbautour um zu verstehen, wie die SSO-Integration in Ihrer asp.net-Middleware-Anwendung funktionieren würde.
-
Kopieren Sie einfach dieses Code-Snippet und fügen Sie es dort ein, wo Sie auf die Benutzerattribute zugreifen möchten.
-
Hinweis:Diese Test-Middleware unterstützt nur Benutzerinformationen in Ansprüchen. Das Abrufen von Benutzerinformationen in Sitzungen und Headern ist im Premium-Plugin verfügbar
- Sie können den Integrationscode auch von unten kopieren:
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;
}
Hinweis: Alle zugeordneten Attribute werden in den Ansprüchen gespeichert, auf die in Ihrer Anwendung zugegriffen werden kann.
Wenn Sie Hilfe zum Integrationscode benötigen, kontaktieren Sie uns unter
aspnetsupport@xecurify.com
7. Anmeldeeinstellungen
- Schweben Wählen Sie Aktionen aus und klicken Sie auf SSO-Link kopieren.
-
Verwenden Sie die folgende URL als Link in der Anwendung, von der aus Sie SSO durchführen möchten:
https://asp-net-middleware-base-url/?ssoaction=login
-
Sie können es beispielsweise wie folgt verwenden:
<a href=”https://asp-net-middleware-base-url/?ssoaction=login”>Log
in</a>
8. Abmeldeeinstellungen
-
Verwenden Sie die folgende URL als Link zu Ihrer Anwendung, von der aus Sie SLO durchführen möchten:
https://asp-net-middleware-base-url/?ssoaction=logout
-
Sie können es beispielsweise wie folgt verwenden:
<a href=”https://asp-net-middleware-base-url/?ssoaction=logout”>Log
out</a>
Um Ihren IDP zu konfigurieren, finden Sie die Metadaten des Dienstanbieters in der Datei appsetting.json. Informationen zu SP-Metadaten finden Sie im folgenden Screenshot:
Ab miniOrange Kopieren Sie spendityid und acsurl und stellen Sie sie dem Team Ihres Identitätsanbieters zur Verfügung.
-
Sobald die Metadaten des Dienstanbieters auf der IdP-Seite konfiguriert sind, erhalten Sie die IdP-Metadatendatei oder Metadaten-URL oder Metadaten-URLs wie IdP-Entitäts-ID, IdP-SSO-URL usw.
-
Um Ihre IDP-Metadaten zu konfigurieren, navigieren Sie zu
appsettings.json Datei. Die folgenden Einstellungen finden Sie im JSON-Bereich von miniorange
-
Um Ihren IDP direkt zu konfigurieren, navigieren Sie zu
appsettings.json Datei.
-
Konfigurieren Sie die entsprechenden bereitgestellten Metadaten und speichern Sie die Einstellungen.
idp_cert |
Geben Sie in dieses Feld das IDP-Zertifikat ein |
ssourl |
Geben Sie in dieses Feld die SSO-URL ein |
idp_issuer |
Geben Sie in dieses Feld den IDP-Aussteller ein |
Attributzuordnung
-
Ordnen Sie Ihre Anwendungsattribute den Identitätsanbieterattributen (IDP) zu.
-
Hinweis: Alle zugeordneten Attribute werden in der Sitzung gespeichert, sodass Sie in Ihrer Anwendung darauf zugreifen können.
Integrationscode
-
Kopieren Sie einfach den Codeausschnitt und fügen Sie ihn dort ein, wo Sie auf die Benutzerattribute zugreifen möchten.
-
Hinweis: Alle zugeordneten Attribute werden in der Sitzung gespeichert, sodass Sie in Ihrer Anwendung darauf zugreifen können.
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;
}
}
Sie können die ASP.NET Core SAML 2.0 Single Sign-On (SSO)-Middleware mit jedem Identitätsanbieter konfigurieren, z
ADFS, Azure AD, Bitium, zentrify, G Suite, JBoss Keycloak, Okta, OneLogin, Salesforce, AWS Cognito, OpenAM, Oracle, PingFederate, PingOne, RSA SecureID, Shibboleth-2, Shibboleth-3, SimpleSAML, WSO2
oder sogar mit Ihrem eigenen Benutzerdefinierter Identitätsanbieter. Sehen Sie sich die Liste der Identitätsanbieter an
Here.
Weitere Informationen
Hilfe benötigt?
Sie können Ihren Identitätsanbieter nicht finden? Schicken Sie uns eine E-Mail
aspnetsupport@xecurify.com
Wir helfen Ihnen bei der Einrichtung von SSO mit Ihrem IDP und geben Ihnen eine schnelle Anleitung (per E-Mail/Besprechung) zu Ihren Anforderungen. Unser Team hilft Ihnen bei der Auswahl der für Ihre Anforderungen am besten geeigneten Lösung/Plan.