Suchergebnisse :

×

Anleitung zum Konfigurieren von ASP.NET Core SAML SSO mit Okta als IDP

ASP.NET Core SAML Single Sign-On (SSO)-Middleware gibt die Möglichkeit zur Aktivierung SAML-Single-Sign-On für Ihre ASP.NET-Kernanwendungen. Mit Single Sign-On können Sie nur ein Passwort für den Zugriff auf Ihre ASP.NET-Kernanwendung und Dienstleistungen. Unsere Middleware ist kompatibel mit allen SAML-kompatible Identitätsanbieter. Hier werden wir eine Schritt-für-Schritt-Anleitung zur Konfiguration von Single Sign-On (SSO) zwischen ASP.NET-Kern und Okta Berücksichtigung Okta als IdP.

Plattformunterstützung: Die ASP.NET Core SAML-Middleware unterstützt ASP.NET Core 2.0 und höher. Sie unterstützt alle ASP.NET Core-Plattformen, einschließlich Windows, Linux und macOS.


NuGet-Paket
.NET-CLI

PM> NuGet\Install-Package miniOrange.SAML.SSO


Hinweis: Um die miniOrange ASP.NET SAML SSO-Middleware in Ihre Anwendung zu integrieren, müssen Sie die folgenden Namespaces, Dienste und Middleware zu Ihrem Projekt hinzufügen. Unten finden Sie eine Beispielimplementierung als Referenz.

  using miniOrange.saml;
  using System.Reflection
  var builder=WebApplication.CreateBuilder(args);

  // Add services to the container.
  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();
NuGet-Paket
.NET-CLI

PM> NuGet\Install-Package miniOrange.SAML.SSO


Hinweis: Um die miniOrange ASP.NET SAML SSO-Middleware in Ihre Anwendung zu integrieren, müssen Sie die folgenden Namespaces, Dienste und Middleware zu Ihrem Projekt hinzufügen. Unten sehen Sie ein Beispiel.

  using miniOrange.saml;
  using System.Reflection;

  public class Startup
  {

    public Startup(IConfiguration configuration)
    {
      Configuration = configuration;
    }
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddRazorPages();
      services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
      if (env.IsDevelopment())
      {
        app.UseDeveloperExceptionPage();
      }
      else
      {
        app.UseExceptionHandler("/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see         https://aka.ms/aspnetcore-hsts.
        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();
      });
    }
  }

Schritt-für-Schritt-Anleitung für ASP.NET Core SAML SSO mit Okta als Identitätsanbieter.


  • Öffnen Sie nach der Integration Ihren Browser und durchsuchen Sie das Connector-Dashboard mit der folgenden URL:
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • Wenn die Registrierungs- oder Anmeldeseite angezeigt wird, haben Sie die miniOrange SAML SSO-Middleware erfolgreich zu Ihrer Anwendung hinzugefügt.
ASP.NET Core – Registrierungsseite

  • 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.
  • Nach erfolgreicher Registrierung erhalten Sie einen Testlizenzschlüssel an Ihre registrierte E-Mail-Adresse.
  • Um die Middleware zu aktivieren, können Sie entweder:
    • Geben Sie die Lizenzschlüssel per E-Mail erhalten in das dafür vorgesehene Eingabefeld.

    OR

    • Laden Sie die heruntergeladene Lizenzdatei hoch, indem Sie auf das Mehr Info .
ASP.NET Middleware Verify-Testlizenz

  • Aktivieren Sie anschließend das Kontrollkästchen "Ich habe die oben genannten Bedingungen gelesen und möchte die Middleware aktivieren" und klicken Sie auf die Lizenz aktivieren .
ASP.NET Middleware-Lizenz aktivieren

Im Folgenden werden zwei Möglichkeiten beschrieben, mit denen Sie die SAML SP-Metadaten abrufen können, um sie auf der Seite Ihres Identitätsanbieters zu konfigurieren.

A] Verwenden 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 auf der Seite Ihres Identitätsanbieters zu konfigurieren.
  • Sie können sich auf den Screenshot unten beziehen:
ASP.NET Core – Metadaten des Dienstanbieters

B] Manuelles Hochladen von Metadaten

  • Von dem Dienstanbietereinstellungen Abschnitt können Sie die Metadaten des Dienstanbieters manuell kopieren, wie 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:
ASP.NET Core – SP-Daten manuell eingeben
  • Navigieren Sie auf der Okta Developer-Website zu Registerkarte "Anwendungen" und wählen Sie Anwendungen.
Okta-Entwicklerkonsole

  • Klicken Sie auf App-Integration erstellen Klicken Sie auf die Schaltfläche, um eine neue App zu erstellen.
App-Integration erstellen

  • Auswählen SAML-2.0 als Anmeldemethode und klicken Sie auf Nächster .
App-Integration erstellen

  • In Allgemeine Einstellungen Registerkarte eingeben App Name und klicken Sie auf Nächster .
Registerkarte „Allgemeine Einstellungen“

  • In Konfigurieren Sie SAML Geben Sie auf der Registerkarte die erforderlichen Details ein:
Single-Sign-On-URL ACS (AssertionConsumerService)-URL aus der Registerkarte „Service Provider Metadata“ des Plugins
Zielgruppen-URL (SP-Entitäts-ID) SP-Entitäts-ID/Aussteller auf der Registerkarte „Dienstanbieter-Metadaten“ des Plugins
Namens-ID-Format Wählen Sie E-Mail-Adresse als Namens-ID aus der Dropdown-Liste aus
Benutzername der Anwendung Okta-Benutzername
SAML-Einstellungen

  • Einrichtung Gruppenattributanweisungen (optional) und klicken Sie auf Nächster .
Gruppenattributanweisungen

  • Wählen Sie den Typ der konfigurierten Anwendung aus und klicken Sie auf Farbe .
Gruppenattributanweisungen

Gruppen/Personen zuordnen:

  • Navigieren Sie zu der von Ihnen erstellten Anwendung und klicken Sie auf Assignments Tab in Okta.
Gruppen/Personen zuweisen

  • Klicken Sie auf Weisen -Taste, um Personen zuweisen und Gruppen zuweisen.
Gruppen/Personen zuweisen

  • Sobald Sie Weisen der Benutzer, klicken Sie auf Erledigt .
Gruppen/Personen zuweisen

  • Klicken Sie auf Anmelden Tab und scrollen Sie nach unten zum SAML-Signaturzertifikate .
  • Der Einstellungen Abschnitt in der Anmelden klicken Sie auf Kopieren Schaltfläche, um die Metadaten-URL zu kopieren.
Metadaten-URL

  • Oder Sie können die IDP-Metadaten-URL auch erhalten, indem Sie die weiteren Schritte ausführen. Klicken Sie auf Action Dropdown für die Aktives Zertifikat und klicken Sie dann auf IdP-Metadaten anzeigen Option zum Abrufen von IdP-Metadaten, die für die Konfiguration Ihres Dienstanbieters erforderlich sind.
IdP-Metadaten

  • Kopieren Sie die Metadaten-URL.
Metadaten-URL


  • Klicken Sie auf Neuen IDP hinzufügen Schaltfläche, um einen neuen Identitätsanbieter zu konfigurieren.
ASP.NET Core SAML SSO mit Azure AD als IDP – Neuen IDP hinzufügen

  • Unter dem Plugin-Einstellungen Registerkarte, wählen Sie Okta als Ihren Identitätsanbieter aus der angezeigten Liste.
ASP.NET Core SAML SSO mit Okta als IDP – Neuen IDP hinzufügen

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 .
  • Kopieren Sie die Metadaten-URL oder laden Sie die Metadatendatei herunter, um sie auf der Seite Ihres Identitätsanbieters zu konfigurieren.
  • Sie können sich auf den Screenshot unten beziehen:
ASP.NET Core – IDP-Metadaten hochladen

  • 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.
ASP.NET Core – IDP manuell konfigurieren
  • Navigieren Sie nach dem Hochladen der Metadatendetails zum Einstellungen des Identitätsanbieters Abschnitt. Bewegen Sie den Mauszeiger über das Wählen Sie Aktionen aus Dropdown-Liste und klicken Sie auf Testkonfiguration.
ASP.NET Core – Testkonfiguration

  • Der Screenshot unten zeigt ein erfolgreiches Ergebnis. Klicke auf SSO-Integration um die SSO-Integration weiter fortzusetzen.
ASP.NET Core – Testkonfiguration

  • Wenn auf der Middleware-Seite ein Fehler auftritt, wird ein Fenster angezeigt, das dem folgenden ähnelt.
ASP.NET Core – Testkonfigurationsfehler

  • 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.
ASP.NET Core – Fehlerbehebung

  • 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.
  • Nachdem Sie die Konfiguration getestet haben, ordnen Sie Ihre Anwendungsattribute den Identitätsanbieterattributen (IdP) zu.
  • Klicken Sie im linken Menü der miniOrange ASP.NET SAML SSO Middleware auf Attribut-/Rollenzuordnung Registerkarte, wie im Bild gezeigt.
ASP.NET Core – Attributzuordnung

  • Wenn Sie zusätzliche Attribute von Ihrem IdP übergeben möchten, geben Sie den Attributnamen und den entsprechenden Attributwert unter Benutzerdefinierte Attributzuordnung.
  • Hinweis: Alle zugeordneten Attribute werden in der Sitzung gespeichert, sodass Sie in Ihrer Anwendung darauf zugreifen können.
  • Sobald die Attribute zugeordnet sind, klicken Sie auf Attributzuordnung speichern Änderungen anwenden.
ASP.NET Core – Attributzuordnung
  • 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 diesen Codeausschnitt einfach und fügen Sie ihn dort ein, wo Sie auf die Benutzerattribute zugreifen möchten.
ASP.NET Core – Integrationscode

  • Hinweis: Mit der Test-Middleware werden die authentifizierten Benutzerdaten in Benutzeransprüchen unter Verwendung der standardmäßigen .NET-Cookie-Authentifizierung gespeichert. Unterstützung für das Setzen von Benutzeransprüchen mit Header-basierter, Session-basierter und JWT-basierter Authentifizierung ist in unserem 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;
    }
    //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)
    var identity = (ClaimsIdentity)User.Identity;
    IEnumerable claims = identity.claims;
    string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
  }

  • Schweben Wählen Sie Aktionen aus und klicken Sie auf SSO-Link kopieren.
ASP.NET Core 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>
  • 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>

 Danke für Ihre Antwort. Wir werden uns bald bei Ihnen melden.

Etwas ist schief gelaufen. Bitte senden Sie Ihre Anfrage erneut

Wir werden uns so schnell wie möglich bei Ihnen melden!


ADFS_sso ×
Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Unterstützung