ASP.NET OAuth Single Sign-On (SSO) mit Keycloak als OAuth-Anbieter
Das ASP.NET OAuth Single Sign-On (SSO)-Modul bietet die Möglichkeit, OAuth Single Sign-On für Ihre ASP.NET-Anwendungen zu aktivieren. Mit Single Sign-On können Sie nur ein Passwort verwenden, um auf Ihre ASP.NET-Anwendungen und -Dienste zuzugreifen. Unser Modul ist mit allen OAuth-kompatiblen Identitätsanbietern kompatibel. Hier gehen wir eine Schritt-für-Schritt-Anleitung durch, um Single Sign-On (SSO) zwischen ASP.NET und Keycloak als OAuth-Anbieter zu konfigurieren.
Extrahieren Sie zum Einrichten des Connectors die
asp-net-oauth-sso-module.zip, finden Sie eine DLL-Datei
miniorange-oauth-sso.dll, eine Konfigurationsdatei
oauthsso.config und einem Integration.md Datei, die die Schritte zum Hinzufügen des Moduls in Ihre Anwendung enthält.
1. Fügen Sie den Connector zu Ihrer Anwendung hinzu
Speichern miniorange-oauth-sso.dll im bin-Ordner (wo Ihre anderen DLL-Dateien vorhanden sind) für Ihre Anwendung.
Registrieren miniorangeoauthsso Modul in Ihrer Anwendung gemäß den bereitgestellten Schritten in der Integration.md Datei.
Fügen Sie die bereitgestellte Konfigurationsdatei hinzu oauthsso.config im Stammverzeichnis Ihrer Anwendung.
Öffnen Sie nach der Integration den Browser und durchsuchen Sie das Connector-Dashboard mit der folgenden URL: https:// <your-application-base-url>/?ssoaction=config
Wenn die Registrierungs- oder Anmeldeseite angezeigt wird, haben Sie den miniOrange Oauth SSO-Connector erfolgreich für Ihre Anwendung hinzugefügt.
Registrieren oder Login zur Konfiguration des Connectors.
Bereich hinzufügen: Melden Sie sich nun bei der Keycloak-Verwaltungskonsole an und navigieren Sie zu Ihrem gewünschten Bereich. Sie können einen neuen Bereich hinzufügen, indem Sie auswählen
Bereich hinzufügen .
Bereich erstellen: Enter Bereichsname Halten Sie den Realm-Namen bereit, da er später für die Konfiguration des Realms unter dem ASP.NET OAuth-Plugin benötigt wird. Klicke auf CREATE Bereich hinzufügen.
OpenID-Client erstellen: Klicken Sie auf
Kunden und wählen Sie erstellen um einen neuen Kunden zu erstellen. Geben Sie die Client-ID ein und wählen Sie das Client-Protokoll aus
openid-connect und wählen Sie Gespeichert.
Zugriffstyp ändern: Nachdem der Client erstellt wurde, ändern Sie seinen Zugriffstyp in vertraulich.
Geben Sie gültige Weiterleitungs-URIs ein: Kopieren Rückruf-URL aus dem Plugin und klicken Sie dann auf SPEICHERN. Ex -- https:///oauth/callback
Client-Geheimnis abrufen: Jetzt müssen wir das Kundengeheimnis erfahren. Also auswählen Kunden und wählen Sie Anmeldeinformationen aus und kopieren Sie Ihr Geheimnis von hier.
Plugin-Konfiguration: Geben Sie kopiert ein
Kundengeheimnis für Kundengeheimnis Feld im ASP.NET OAuth-Plugin und geben Sie das ein Client-Name unter dem Feld „Client-ID“.
Benutzer hinzufügen: Wir müssen dem Realm Benutzer hinzufügen, die auf die Ressourcen des Realms zugreifen können. Klick auf das Nutzer und entscheide dich dafür Fügen Sie einen neuen Benutzer hinzu.
Benutzer Konfiguration: Nachdem der Benutzer erstellt wurde, muss die folgende Aktion für ihn ausgeführt werden.
1) Legen Sie ein Passwort dafür fest, klicken Sie also auf
Aus- und Fortbildungen
und legen Sie ein neues Passwort für den Benutzer fest.
HINWEIS: Wenn Sie „Temporär“ deaktivieren, wird das Benutzerkennwort dauerhaft.
Kartenbenutzer: Wir müssen den Benutzer einer Rolle zuordnen. Klicke auf
Rollenzuordnungen Weisen Sie dem Benutzer die gewünschte Rolle aus den verfügbaren Rollen zu und klicken Sie auf Auswahl hinzufügen.
ROLLE erstellen: Die Rolle wird von Ihren Anwendungen verwendet, um zu definieren, welche Benutzer zum Zugriff auf die Anwendung berechtigt sind. Klick auf das Rollen und wählen Sie Hinzufügen Funktion / Rolle (Role) *.
Schritt 2.1: Schritte zum Abrufen von Keycloak-Gruppen
Gruppen erstellen: Klicken Sie auf Groups und wähle New um eine neue Gruppe zu erstellen.
Benutzer einer Gruppe zuweisen: Wählen Sie den Benutzer aus, den Sie zur Gruppe hinzufügen möchten. Wählen Sie auf der Registerkarte die Option „Gruppen“, wählen Sie dann den Gruppennamen aus und klicken Sie auf join.
Keycloak-Gruppen-Mapper: Um nun Gruppendetails zu erhalten, müssen wir die Clientzuordnung mit der Gruppenmitgliedschaft durchführen, andernfalls werden die Gruppendetails nicht abgerufen. Also rein Kundenbereich, wählen Sie Ihren Kunden aus und klicken Sie dann auf Mapper->Erstellen.
Nun wähle Mapper-Typ as Gruppenmitgliedschaft und geben Sie die
Name und Name des Tokenanspruchs dh der Attributname, der den abzurufenden Gruppen entspricht. Deaktivieren Sie den vollständigen Gruppenpfad, die Optionen „Zu ID-Token hinzufügen“ und „Zu Zugriffstoken hinzufügen“ und klicken Sie auf Gespeichert.
Hinweis: – Wenn der vollständige Pfad angegeben ist, wird der Gruppenpfad abgerufen, andernfalls wird der Gruppenname abgerufen.
Schritt 2.2: Schritte zum Abrufen von Keycloak-Rollen
Keycloak-Rollenzuordnung: Um nun Rollendetails zu erhalten, müssen wir die Clientzuordnung mit der Rollenmitgliedschaft durchführen, andernfalls werden die Rollendetails nicht abgerufen. Also rein Kundenbereich, wählen Sie Ihren Kunden aus und klicken Sie dann auf Mapper->Erstellen.
Nun wähle Mapper-Typ as Benutzerbereichsrolle Mitgliedschaft und geben Sie die ein Name. und Name des Token-Anspruchs dh der Attributname, der den abzurufenden Gruppen entspricht. Wählen Sie die Optionen „Zum ID-Token hinzufügen“ und „Zum Zugriffstoken hinzufügen“ und klicken Sie auf Gespeichert.
Bereich hinzufügen: Melden Sie sich nun bei der Keycloak-Verwaltungskonsole an und navigieren Sie zu Ihrem gewünschten Bereich. Sie können einen neuen Bereich hinzufügen, indem Sie auswählen
Reich erstellen .
Bereich erstellen: Enter Bereichsname Halten Sie den Realm-Namen bereit, da er später für die Konfiguration des Realms unter dem OAuth-Client-Plugin benötigt wird. Klicke auf CREATE Bereich hinzufügen.
OpenID-Client erstellen: Klicken Sie auf
Kunden und wählen Sie Client erstellen um einen neuen Kunden zu erstellen. Geben Sie die Client-ID ein und wählen Sie das Client-Protokoll aus
openid-connect und Klicken Sie auf Weiter.
Aktivieren Sie die Client-Authentifizierung und Genehmigung Umschalten.
Scrollen Sie nach unten zum Zugriffseinstellungen und geben Sie Ihr ein
Rückruf-/Umleitungs-URL
die Sie von Ihrem miniOrange-Plugin erhalten, das auf Ihrer Client-Seite unter dem vorhanden ist Rückruf-URLs Textfeld.
Gehen Sie zur Aus- und Fortbildungen Registerkarte, kopieren Sie die Kundengeheimnis Halten Sie es griffbereit, da wir es später bei der Konfiguration des ASP.NET OAuth Single Sign-On-Plugins benötigen.
Plugin-Konfiguration: Geben Sie kopiert ein Kundengeheimnis für
Kundengeheimnis Feld im ASP.NET OAuth-Plugin und geben Sie das ein
Kunden-ID unter dem Kunden-ID Feld.
Benutzer hinzufügen: Wir müssen dem Realm Benutzer hinzufügen, die auf die Ressourcen des Realms zugreifen können. Klick auf das Nutzer und klicken Sie auf
Neuen Benutzer erstellen um einen neuen Benutzer hinzuzufügen.
Benutzer Konfiguration: Nachdem der Benutzer erstellt wurde, muss die folgende Aktion für ihn ausgeführt werden.
1) Legen Sie ein Passwort dafür fest, klicken Sie also auf
Aus- und Fortbildungen
und legen Sie ein neues Passwort für den Benutzer fest.
HINWEIS: Wenn Sie „Temporär“ deaktivieren, wird das Benutzerkennwort dauerhaft.
Kartenbenutzer: Wir müssen den Benutzer einer Rolle zuordnen. Klicke auf
Rollenzuordnungen und weisen Sie dem Benutzer aus den verfügbaren Rollen die gewünschte Rolle zu.
ROLLE erstellen: Die Rolle wird von Ihren Anwendungen verwendet, um zu definieren, welche Benutzer zum Zugriff auf die Anwendung berechtigt sind. Klick auf das Rollen und wählen Sie Rolle erstellen.
3. Konfigurieren Sie den miniOrange ASP.NET OAuth-Client
Nachdem Sie Ihren OAuth-Anbieter konfiguriert haben, erhalten Sie Folgendes
Client-ID, Client-Geheimnis, Endpunkt autorisieren, Zugriffstoken-Endpunkt
und Endpunkt für Benutzerinformationen abrufen. Konfigurieren Sie diese Werte in den entsprechenden Feldern.
Füllen Sie alle erforderlichen Angaben aus und klicken Sie auf Konfiguration speichern.
4. Testkonfiguration
Klicken Sie nach dem Speichern der Konfiguration auf
Testkonfiguration Klicken Sie auf die Schaltfläche, um zu überprüfen, ob Sie die Konfiguration korrekt durchgeführt haben.
Bei erfolgreicher Konfiguration erhalten Sie Attributname und
Attributwerte im Fenster Testkonfiguration. Der folgende Screenshot zeigt ein erfolgreiches Ergebnis.
5. Attributzuordnung
Ordnen Sie die von Ihrem OAuth-Server bereitgestellten Attributnamen den Attributen Ihrer ASP.NET-Anwendung zu, die im Abschnitt „Attributzuordnung“ angegeben sind, und klicken Sie auf
Attributzuordnung speichern.
Hinweis: Alle zugeordneten Attribute werden in der Sitzung gespeichert, sodass Sie in Ihrer Anwendung darauf zugreifen können.
6. Integrationscode
Sie finden die Integrationscode auf der Registerkarte „Integrationscode“ im Connector. Kopieren Sie einfach dieses Code-Snippet und fügen Sie es dort ein, wo Sie auf die Benutzerattribute zugreifen möchten.
7. Fügen Sie den folgenden Link in Ihre Anwendung für Single Sign-On (SSO) ein.
Verwenden Sie die folgende URL als Link in Ihrer Anwendung, von der aus Sie SSO durchführen möchten: http://base-url/?ssoaction=login
Sie können es zum Beispiel verwenden als: <a href="http://base-url/?ssoaction=login”>Log in</a>"
Sie können das ASP.NET SAML 2.0 Single Sign-On (SSO)-Modul mit jedem beliebigen Identitätsanbieter konfigurieren, z. B. ADFS, 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.