2016-07-14 3 views
5

Je sais keycloak a exposé ci-dessous api,Keycloak - Obtenir tous les utilisateurs mis en correspondance des rôles

<dependency> 
    <groupId>org.keycloak</groupId> 
    <artifactId>keycloak-services</artifactId> 
    <version>2.0.0.Final</version> 
</dependency> 

Avec une documentation complète here. Je ne trouve pas l'API requise ici pour aller chercher tous les utilisateurs avec un rôle spécifique.

Énoncé du problème - Je dois sélectionner tous les utilisateurs du serveur keycloak qui ont un rôle spécifique. J'ai besoin d'envoyer un email à tous les utilisateurs avec le rôle mappé à eux.

Répondre

4

Il existe un feature request demandant cette fonction via l'API.

En attendant, si votre exigence est une fois de vous pouvez obtenir les noms d'utilisateur (ou adresses e-mail) en interrogeant la base de données se joindre KEYCLOAK_ROLE à USER_ROLE_MAPPING à USER_ENTITY

Quelque chose comme:

SELECT username 
FROM keycloak_role kr 
    JOIN user_role_mapping rm ON kr.id = rm.role_id 
    JOIN user_entity ue ON rm.user_id = ue.id 
WHERE kr.name = 'your_role_name'; 
+0

choses excellentes , merci pour le partage, et ils ont aussi un module d'administration pour ce genre de requêtes, à droite .. ?? –

+0

comment pouvons-nous faire cela avec l'API client java? –