
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-users
es uno de los roles en esa lista y es el rol que necesito asignar a mi otro cliente (que nombré logic
en Keycloak). En otras palabras, mi aplicación "Logic" utiliza el ID de cliente keycloak logic
para autenticarse y necesito agregar el manage-users
rol al logic
cliente.
El problema es que en logic
la configuración de roles de mi cliente (), esos mismos roles, enumerados en realm-management
cliente, no aparecen en absoluto, y la lista solo tiene uma_protection
el rol:
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-management
cliente, 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 logic
cliente, 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-users
rol 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-users
rol 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".