Client, der Benutzer in Keycloak 23+ verwalten kann

Client, der Benutzer in Keycloak 23+ verwalten kann

Ich muss meine Anwendung (ab jetzt „Logic“ genannt) autorisieren, um Benutzer eines Keycloak-Bereichs zu verwalten. „Logic“ authentifiziert sich bereits gegenüber diesem Bereich mit einem Client-Anmeldeinformationen-Zugriffstyp, sodass der Code bereits funktioniert.

Jetzt muss ich in der Keycloak-Verwaltungskonsole meinem Client die richtige Rolle hinzufügen, damit „Logic“ berechtigt ist, jeden von Keycloak bereitgestellten API-Endpunkt zum Verwalten der Realm-Benutzer aufzurufen.

In der Realm-Clientliste gibt es einen Client mit dem Namen realm-management, den Keycloak standardmäßig für jeden Realm bereitstellt. Dieser Client kann den gesamten Realm verwalten, nicht nur dessen Benutzer, und er verfügt aus diesem Grund über eine Liste mit Client-Rollen. manage-usersist eine der Rollen in dieser Liste und es ist die Rolle, die ich meinem anderen Client zuweisen muss (den ich logicin Keycloak benannt habe). Mit anderen Worten, meine „Logic“-Anwendung verwendet die Keycloak-Client-ID, logicum sich zu authentifizieren, und ich muss die manage-usersRolle dem logicClient hinzufügen.

Das Problem besteht darin, dass in meinen Client( logic)-Rolleneinstellungen dieselben Rollen, die unter realm-management„Client“ aufgeführt sind, überhaupt nicht aufgeführt sind und die Liste nur uma_protectiondie folgende Rolle enthält:

Die Liste hat nur uma_protection

Wenn ich nach „manage-users“ suchte, indem ich es in das Suchfeld eingab, wurde es nicht angezeigt. Wenn ich in der Rollenliste des realm-managementClients auf diese Rolle klicke, wird angezeigt, dass keineBenutzerhabe diese Rolle und kann sie hinzufügen zuBenutzer, aber nicht zuKunden, auch wenn diese Rolle tatsächlich in einemKlient( realm-management).

Das Erstellen einer neuen Rolle in meinem logicClient mit demselben Namen manage-usersist möglich, aber ich bin mir nicht sicher, ob das der richtige Weg ist. Ich meine, warum sollte ich eine vorhandene Rolle duplizieren? Das riecht nach etwas Falschem.

Können Sie mir bitte den richtigen Weg erklären, um die manage-usersRolle zu einemKlientin Keycloak 23?

Antwort1

ich endlichhabe eine Antwortvon einem Mitglied der offiziellen Keycloak-Support-Community, und ich melde das hier, nur für den Fall, dass andere meine Frage hier finden.

dasniko schrieb:

Wenn Ihr Client bereits den Client-Anmeldeinformationen-Flow verwendet, sind „Dienstkonten“ aktiviert. Sie müssenzuordnendie realm-management.manage-usersRolle dem Servicekonto im entsprechenden Reiter Ihres Clients zu. Auf diese Weise erhält der entsprechende Servicekontobenutzer, der in Keycloak dafür verantwortlich ist, dass der Client-Anmeldeinformationsfluss funktioniert, die richtige Rolle und sollte in der Lage sein, Ihre Benutzer zu verwalten.

Die Rollen können gefunden werden, indem Sie den Filter „Nach Clients filtern“ anstelle von „Nach Realm-Rollen filtern“ auswählen.

verwandte Informationen