Je veux mettre à jour les détails de l'utilisateur. par exemple. J'ai créé l'utilisateur (k1) dans le domaine "demo" de la console d'administration keycloak. J'ai un client java et je veux mettre à jour les détails de l'utilisateur (k1) comme. Changer l'adresse e-mail de l'utilisateur k1. J'ai utilisé le client Admin (Rest API) comme ci-dessous.Comment est-ce que je peux mettre à jour les détails d'utilisateur de keycloak programitically (java), sans employer le repos api d'administrateur?
public void updateEmail(final String newEmailAddress) {
try {
final AccessToken accessToken = getToken();
Keycloak keycloak = KeycloakBuilder.builder().serverUrl(this.getDeployment().getAuthServerBaseUrl())
.realm(this.getDeployment().getRealm()).username("k1").password("123").clientId(ADMIN_CLIENT)
.resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build()).build();
UserResource userResource = keycloak.realm(this.getDeployment().getRealm()).users()
.get(accessToken.getSubject());
UserRepresentation user = userResource.toRepresentation();
user.setEmail(newEmailAddress);
userResource.update(user);
} catch (Exception exception) {
exception.printStackTrace();
}
}
Mais je veux faire la même chose sans utiliser le client Admin.
Comment le ferait sans que le client reste? Ce n'est pas possible, ou vous utilisez la console ou les points de terminaison REST ... –
J'utilisais le compte d'administrateur pour mettre à jour l'email.i.e de l'utilisateur. client d'administration keycloak. et j'avais besoin d'un autre moyen. – kunal