2016-04-04 15 views
5

Sto cercando di aggiornare un utente, con ruolo di amministratore, per il dominio utilizzando la console di amministrazione, ma non funziona.Keycloak: come aggiungere/aggiornare l'utente con i ruoli a livello di programmazione?

Il mio codice:

UserResource use = userResources.get(search.get(0).getId()); 
use.resetPassword(credentials); 

user=use.toRepresentation(); 
List<String> roles=new ArrayList<String>(); 
roles.add("realm-admin"); 
Map<String,List<String>> m= new HashMap<String,List<String>>(); 

m.put("realm-management",roles); 
user.setClientRoles(m); 
use.update(user); 

Qualsiasi idea di quello che potrebbe essere sbagliato?

risposta

4
UserResource use = userResources.get(idUser); 

use.roles().clientLevel(id).add(use.roles().clientLevel( 
id).listAvailable()); 

Questa è la soluzione che ho trovato l'id è l'id del client e non il client_id.