Cliente que puede administrar usuarios en Keycloak 23+

Cliente que puede administrar usuarios en Keycloak 23+

Necesito autorizar mi aplicación (llamada "Logic" de ahora en adelante) para administrar usuarios de un dominio Keycloak. "Logic" ya se autentica en ese ámbito con un tipo de acceso de concesión de credenciales de cliente, por lo que el código ya está funcionando.

Ahora, en la consola de administración de Keycloak, necesito agregar la función correcta a mi cliente para que "Logic" esté autorizado a llamar a cualquier punto final API que Keycloak proporcione para administrar los usuarios del reino.

En la lista de clientes del reino hay un cliente llamado realm-management, que Keycloak proporciona de forma predeterminada para cada reino. Este cliente puede administrar todo el ámbito, no solo sus usuarios, y por ese motivo tiene una lista de roles de cliente. manage-userses uno de los roles en esa lista y es el rol que necesito asignar a mi otro cliente (que nombré logicen Keycloak). En otras palabras, mi aplicación "Logic" utiliza el ID de cliente keycloak logicpara autenticarse y necesito agregar el manage-usersrol al logiccliente.

El problema es que en logicla configuración de roles de mi cliente (), esos mismos roles, enumerados en realm-managementcliente, no aparecen en absoluto, y la lista solo tiene uma_protectionel rol:

La lista solo tiene uma_protection

Si buscara "administrar usuarios" escribiéndolo en el cuadro de búsqueda, no aparecería. Mientras tanto, si hago clic en ese rol en la lista de roles del realm-managementcliente, muestra que nousuariostengo ese rol y me permite agregar el rol ausuarios, pero no paraclientela, incluso si ese rol realmente figura en una listacliente( realm-management).

Es posible crear un nuevo rol en mi logiccliente, con el mismo nombre manage-users, pero no estoy seguro de que ese sea el camino a seguir. Quiero decir, ¿por qué debería duplicar un rol existente? Huele a mal.

¿Puede decirme la forma correcta de agregar el manage-usersrol a unclienteen la capa de llaves 23?

Respuesta1

yo finalmentetengo una respuestade un miembro de la comunidad de soporte oficial de Keycloak, y lo informo aquí en caso de que otros encuentren mi pregunta aquí.

dasniko escribió:

Si su cliente ya utiliza el flujo de credenciales del cliente, tiene habilitadas las "cuentas de servicio". Tienes queasignarel realm-management.manage-usersrol de la cuenta de servicio en la resp. ficha de su cliente. De esta manera, el usuario de la cuenta de servicio correspondiente, que es responsable en Keycloak de hacer funcionar el flujo de credenciales del cliente, obtendrá el rol adecuado y podrá administrar sus usuarios.

Los roles se pueden encontrar seleccionando el filtro "Filtrar por clientes" en lugar de "Filtrar por roles de reino".

información relacionada