Blazor SAML Single Sign-On (SSO)
Die Anwendung ermöglicht es, SAML Single Sign-On für Ihre Blazor-Anwendungen zu aktivieren. Mit Single Sign-On können Sie nur ein einziges Passwort verwenden, um auf Ihre Blazor-Anwendung und -Dienste zuzugreifen. Unsere Anwendung ist mit allen SAML-kompatiblen Identitätsanbietern kompatibel. Hier führen wir Sie Schritt für Schritt durch die Konfiguration von Single Sign-On (SSO) zwischen Blazor und PingFederate, wobei PingFederate als IdP verwendet wird. Um mehr über die Funktionen zu erfahren, die wir für Blazor SSO bereitstellen, klicken Sie auf
werden auf dieser Seite erläutert.
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:
Von 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 Blazor SAML 2.0 Single Sign-On (SSO)-Anwendung mit jedem beliebigen Identitätsanbieter konfigurieren, wie zum Beispiel
ADFS, Microsoft Entra ID (früher 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. Sehen Sie sich die Liste der Identitätsanbieter an
werden auf dieser Seite erläutert.
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.