Die Blazor SAML Single Sign-On (SSO) -Anwendung ermöglicht die Aktivierung von SAML Single Sign-On für Ihre Blazor-Anwendungen. Mit Single Sign-On benötigen Sie nur ein einziges Passwort für den Zugriff auf Ihre Blazor-Anwendungen und -Dienste. Unsere Anwendung ist mit allen SAML-konformen Identitätsanbietern kompatibel. In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie Single Sign-On (SSO) zwischen Blazor und Auth0 konfigurieren, wobei Auth0 als Identitätsanbieter dient. Weitere Informationen zu den Funktionen von Blazor SSO finden Sie hier.
Plattformunterstützung: Die Blazor SAML-Anwendung unterstützt ASP.NET Core 2.0 und höher. Es unterstützt alle Blazor-Plattformen, einschließlich Windows, Linux und macOS.
Schritte zum Konfigurieren von Blazor Single Sign-On (SSO) mit Auth0 als IDP
Schritt 1: Voraussetzungen: Download und Installation
- Installieren Sie die Blazor SAML SSO Middleware mithilfe des Nuget-Pakets in Ihrem Anwendungspaket
using miniorange.saml
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.UseCookiePolicy();
app.UseAuthentication();
app.UseStaticFiles();
app.UseminiOrangeSAMLSSOMiddleware();
app.Run();
}
}
using Microsoft.AspNetCore.Authentication.Cookies;
using miniOrange.saml;
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();
app.UseStaticFiles();
app.UseminiOrangeSAMLSSOMiddleware();
app.Run();
app.useantiforgery();
-
Öffnen Sie nach der Integration Ihren Browser und durchsuchen Sie das Connector-Dashboard mit der folgenden URL:
https://<blazor-application-base-url>/?ssoaction=config
-
Wenn die Registrierungs- oder Anmeldeseite angezeigt wird, haben Sie den miniOrange Blazor SAML SSO-Connector 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 Anwendung zu konfigurieren.
2. Konfigurieren Sie Auth0 als Identitätsanbieter
-
Unter dem Plugin-Einstellungen Registerkarte, wählen Sie Auth0 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:
-
Anmelden auf Ihre
Auth0-Dashboard.
- Klicken Sie auf Anwendungen.
- Klicken Sie auf Anwendung erstellen.
-
Es öffnet sich ein neues Fenster. Geben Sie einen Namen für die Anwendung ein und wählen Sie aus
Reguläre Web-App. Klicken Sie auf
CREATE .
- Wähle aus Addons Tab.
-
Ermöglichen SAML2 Option in den Add-ons. Es öffnet sich ein Konfigurationsfenster.
-
Enter Anwendungsrückruf-URL, Zielgruppe, Empfänger und andere Einstellungen mit SP-Entitäts-ID und
ACS-URL vom Plugin kopiert, wie unten gezeigt:
- Scrollen Sie nach unten und klicken Sie auf Gespeichert.
-
Gehen Sie zur Anwendungsbereich und klicken Sie auf
Metadaten des Identitätsanbieters Download-Link. Es lädt die Metadaten-XML-Datei herunter, die Sie zum Einrichten des SAML-Plugins benötigen.
Sie haben Auth0 erfolgreich als SAML-IdP (Identitätsanbieter) konfiguriert, um Blazor SAML SSO zu erreichen.
3. Konfigurieren Sie die Blazor SAML-Anwendung als Dienstanbieter
Im Folgenden werden zwei Möglichkeiten beschrieben, mit denen Sie die Metadaten Ihres SAML-Identitätsanbieters in der Anwendung 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 Anwendung 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.
- Klicken Sie auf 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 Anwendungsseite 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 der 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.
-
Im kostenlosen Plugin können Sie nur NameID konfigurieren
-
Hinweis: Alle zugeordneten Attribute werden in den Ansprüchen 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 Blazor-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://blazor-application-base-url/?ssoaction=login
-
Sie können es beispielsweise wie folgt verwenden:
<a href=”https://blazor-application-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://blazor-application-base-url/?ssoaction=logout
-
Sie können es beispielsweise wie folgt verwenden:
<a href=”https://blazor-application-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:
Kopieren Sie aus dem miniOrange- Bereich die Werte spentityid und acsurl und stellen Sie diese 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 den Ansprüchen 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 Blazor SAML 2.0 Single Sign-On (SSO)-Anwendung mit beliebigen Identitätsanbietern konfigurieren, z. B. ADFS, Microsoft Entra ID (ehemals 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 oder sogar mit Ihrem eigenen benutzerdefinierten Identitätsanbieter . Eine Liste der Identitätsanbieter finden Sie hier.
Weitere Informationen
Hilfe benötigt?
Sie finden Ihren Identitätsanbieter nicht? Schreiben Sie uns an aspnetsupport@xecurify.com. Wir helfen Ihnen gerne bei der Einrichtung von SSO mit Ihrem Identitätsanbieter und beraten Sie schnell (per E-Mail oder in einem persönlichen Gespräch) zu Ihren Anforderungen. Unser Team unterstützt Sie bei der Auswahl der optimalen Lösung bzw. des passenden Tarifs.