Tag 3 des Keycloak-Adventskalenders beschreibt das Verfahren zum ** Delegieren der Authentifizierung für Spring Boot-basierte Webanwendungen an Keycloak **. Keycloak verfügt über einen Adapter für Spring Boot, mit dem Spring Boot-basierte Webanwendungen einfach gesichert werden können. Dies macht es zu einer sicheren Spring Boot-Anwendung, die das neueste Authentifizierungsprotokoll ** "OpenID Connect" ** (OIDC) unterstützt.
Sobald die Verknüpfung hergestellt ist, werden Benutzer zum "Endbenutzer" von OIDC, Spring Boot-basierte Webanwendungen zu "Relying Party" von OIDC und Keycloak zum "Open ID Provider" von OIDC.
Sie müssen das Keycloak-Setup abschließen und einen Administrator erstellen, bevor Sie mit diesem Lernprogramm arbeiten können. Weitere Informationen zum Ausführen dieser Aufgaben finden Sie im Artikel Keycloak Adventskalender Tag 2. Außerdem wird Gradle oder Maven zum Erstellen und Starten der Webanwendung verwendet. Installieren Sie daher eine der beiden Anwendungen.
Dieses Mal werden sowohl Keycloak- als auch Spring Boot-basierte Webanwendungen auf localhost erstellt.
Das Verfahren für die Zusammenarbeit ist wie folgt. Überprüfen Sie anschließend den Vorgang.
Bevor wir ein Reich erstellen, werfen wir einen kurzen Blick auf das Reich. ** "Realm" in Keycloak bedeutet einen Bereich zum Gruppieren von Benutzern, Rollen, verbundenen Datenspeichern (LDAP usw.). ** Benutzer können im Realm erstellen und die Authentifizierungsmethode usw. kann für jeden Realm definiert werden. Standardmäßig gibt es einen Bereich namens "Master", und alle danach hinzugefügten Bereiche können eingeschlossen und verwaltet werden. Der Bereich "Master" ist die höchste Ebene in der Bereichshierarchie und kann von einem Superadministrator verwaltet werden (dem Administratorkonto, das bei der Ersteinrichtung erstellt wurde).
Sie können den Bereich "Master" verwenden, um Benutzer usw. zu verwalten. Grundsätzlich wird jedoch empfohlen, einen Bereich zu erstellen. Erstellen Sie daher zuerst einen Bereich. Sie können auch den Bereich "Master" löschen.
Gehen Sie zu [http: // localhost: 8080 / auth / admin /](http: // localhost: 8080 / auth / admin /) und melden Sie sich mit einem Administratorkonto bei der Keycloak-Administratorkonsole an.
Klicken Sie im Dropdown-Menü mit der Bezeichnung Master in der oberen linken Ecke auf Realm hinzufügen.
Die Seite Realm hinzufügen wird geöffnet. Da Sie einen neuen Realm erstellen, geben Sie "Demo" in den Realmnamen ein und klicken Sie auf die Schaltfläche "Erstellen".
Wenn Sie einen Bereich erstellen, werden Sie zur Hauptseite der Verwaltungskonsole weitergeleitet. Der aktuelle Bereich sollte "Demo" sein.
Sie können zwischen dem von Ihnen kontrollierten Master-Bereich und dem gerade erstellten Bereich wechseln, indem Sie auf das Dropdown-Menü in der oberen linken Ecke klicken.
Erstellen Sie als Nächstes einen Client (*). In diesem Fall ist der Client die OIDC-definierte "vertrauende Partei" (in OAuth 2.0, die Grundlage von OIDC 1.0, auch als "Client" bezeichnet) und die Spring Boot-Anwendung.
* Um genau zu sein, erstellen Sie ein Profil für den Client. Der Client selbst wird mit "Spring Initializr" erstellt, das später beschrieben wird. td> tr> table>
Klicken Sie in der linken Menüleiste auf Client. Der Client-Listenbildschirm wird angezeigt. Klicken Sie daher auf die Schaltfläche "Erstellen". Geben Sie "sample-app" ein und klicken Sie auf die Schaltfläche "Speichern". Geben Sie "http: // localhost: 8081 / hello" für den gültigen Umleitungs-URI ein. <! -![Screenshot vom 2017-11-05 20.27.19.png](https://qiita-image-store.s3.amazonaws.com/0/43869/9f17916d-8ca3-3e59-b85f- ce215ea23c75.png) | --> 1.3. Eine Rolle erstellenErstellen Sie als Nächstes eine Rolle, die dem Benutzer zugewiesen werden soll. Wir werden es später so konfigurieren, dass nur Benutzer, denen diese Rolle zugewiesen wurde, auf die Spring Boot-Anwendung zugreifen können. Die Rolle
|