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 PingFederate konfigurieren, wobei PingFederate 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. Sie unterstützt alle Blazor-Plattformen, einschließlich Windows, Linux und macOS.
Schritte zum Konfigurieren von Blazor Single Sign-On (SSO) mit PingFederate 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 ASP.NET 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 Schaltfläche, um die Anwendung zu konfigurieren.
2. Konfigurieren Sie PingFederate als Identitätsanbieter
-
Unter dem Plugin-Einstellungen Registerkarte, wählen Sie PingFederate 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:
- Melden Sie sich bei Ihrem Ping Federate User Admin-Dashboard an.
-
Klicken Sie auf Identitätsanbieter im linken Navigationsmenü.
-
Der SP-ANSCHLUSS, klicke auf
Neu erstellen .
-
Wähle aus Browser-SSO-Profile Anschlussschablone auf der Verbindungstyp Tab und klicken Sie auf
Weiter.
-
Wählen Sie „Browser SSO“ aus Anschlussmöglichkeiten Tab und klicken Sie auf
Weiter.
-
Auswählen Reichen Sie das als Methode zum Importieren von Metadaten und klicken Sie auf Wählen Datei, um die Metadaten des miniOrange SSO-Plugins auf dem Metadaten importieren Tab. Klicken
Weiter.
-
Überprüfen Sie die Informationen auf der Zusammenfassung der Metadaten Tab und klicken Sie Weiter.
-
Im Registerkarte „Allgemeine Informationen“. sicherstellen, dass die
Entitäts-ID des Dienstanbieters, Verbindungsname und
Basis-URL Felder werden basierend auf den Metadaten vorab ausgefüllt. Klicken Sie auf Weiter.
-
Navigieren Sie zu der Browser-SSO und klicken Sie auf
Konfigurieren Sie Browser-SSO. Sie werden zum Browser-SSO-Setup-Assistent weitergeleitet.
-
Wähle aus IdP-initiiertes SSO und
SP-initiiertes SSO Optionen auf der SAML-Profile Tab und klicken Sie auf
Weiter.
-
Geben Sie die gewünschte Gültigkeitsdauer Ihrer Behauptung ein
Behauptungslebensdauer Tab und klicken Sie auf Weiter. Standardmäßig ist es konfiguriert 5 Minuten für beide.
-
Navigieren Sie zur Assertion-Erstellung und klicken Sie auf Assertion-Erstellung konfigurieren. Sie werden zum Setup-Assistenten für die Assertion-Erstellung weitergeleitet.
- Wählen Sie auf der Registerkarte „Identitätszuordnung“ die Option „STANDARD“ aus und klicken Sie auf „Weiter“.
-
Wählen Sie ein Betreffnamenformat für SAML_SUBJECT im aus
Attributvertrag Registerkarte und klicken Sie auf Weiter.
-
Klicken Sie in der Authentifizierungsquellenzuordnung auf Neue Adapterinstanz zuordnen.
-
Wählen Sie eine aus Adapterinstanz und klicken auf
Weiter. Der Adapter muss die E-Mail-Adresse des Benutzers enthalten.
-
Wähle aus
Verwenden Sie in der SAML-Behauptung nur die Adaptervertragswerte Option auf dem Mapping-Methode Tab und klicken Sie auf
Weiter.
-
Wählen Sie Ihre Adapterinstanz als aus
Quelle und die E-Mail als Wert
auf die Attribut Vertragserfüllung und klicken Sie auf Weiter.
-
(Optional) Wählen Sie die gewünschten Autorisierungsbedingungen aus
Ausgabekriterien Tab und klicken Sie auf
Weiter.
- Klicken Sie auf Erledigt
auf die Zusammenfassung.
-
Klicken Sie auf Weiter auf die
Authentifizierungsquellenzuordnung Tab.
- Klicken Sie auf Erledigt
auf der Registerkarte Zusammenfassung.
-
Klicken Sie auf Weiter auf die
Behauptungserstellung
-
Navigieren Sie zur Registerkarte „Protokolleinstellungen“ des Browser-SSO-Assistenten und klicken Sie auf „Protokolleinstellungen konfigurieren“.
-
Wählen Sie POST für Buchbindung und geben Sie die einmalige Anmeldung an Endpunkt-URL im Feld Endpunkt-URL auf
URL des Assertion-Verbraucherdienstes Klicken Sie auf
Weiter.
-
Auswählen jetzt lesen auf die
Zulässige SAML-Bindungen Tab und klicken Sie auf
Weiter.
-
Wählen Sie Ihre gewünschten Signaturrichtlinien für Zusicherungen aus
Signaturrichtlinie Tab und klicken Sie auf Weiter.
-
Wählen Sie Ihre gewünschte Verschlüsselungsrichtlinie für Zusicherungen aus
Verschlüsselungsrichtlinie Tab und klicken Sie auf Weiter.
-
Klicken Sie auf Erledigt
auf die
Zusammenfassung der Protokolleinstellungen Tab.
-
Navigieren Sie zu der Aus- und Fortbildungen und klicken Sie auf
Anmeldeinformationen konfigurieren. Sie werden auf die weitergeleitet
Aus- und Fortbildungen Setup-Assistent.
-
Wählen Sie das Signaturzertifikat aus, das mit dem Single Sign-On-Dienst verwendet werden soll, und wählen Sie auf der Registerkarte „Einstellungen für digitale Signatur“ die Option „Zertifikat in Signaturelement einschließen“ aus. Klicken Sie auf „Fertig“.
- Klicken Sie auf Erledigt
auf die Zusammenfassung.
-
Klicken Sie auf Weiter auf die Aus- und Fortbildungen.
-
Auswählen Aktives für die
Verbindungsstatus auf die
Aktivierung und Zusammenfassung Tab und klicken Sie auf
Gespeichert.
-
Navigieren Sie jetzt zum Ping Federate User Admin-Dashboard > Identity Provide.
-
Klicken Sie auf Alles verwalten für SP-Verbindungen.
-
Klicken Sie auf Metadaten exportieren für die gewünschte Dienstanbieter-Anbindung.
-
Klicken Sie auf Export auf die
Export & Zusammenfassung Tab und klicken Sie auf
Fertig.
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 die Metadatendatei (nur im XML-Format) bereitgestellt hat, können Sie die Metadaten des Identitätsanbieters einfach in der Anwendung konfigurieren, indem Sie den
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 beim Ausführen der Anwendung ein Fehler auftritt, wird Ihnen ein Fenster ähnlich dem folgenden angezeigt.
- 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 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 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.