Merge pull request #2109 from stianst/KEYCLOAK-2218
KEYCLOAK-2218 Allow updating user without including username
This commit is contained in:
commit
39b3c648a2
2 files changed
+30
-4
No files matched your search
@@ -220,12 +220,12 @@ public class UsersResource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void updateUserFromRep(UserModel user, UserRepresentation rep, Set<String> attrsToRemove, RealmModel realm, KeycloakSession session) {
|
public static void updateUserFromRep(UserModel user, UserRepresentation rep, Set<String> attrsToRemove, RealmModel realm, KeycloakSession session) {
|
||||||
if (realm.isEditUsernameAllowed()) {
|
if (rep.getUsername() != null && realm.isEditUsernameAllowed()) {
|
||||||
user.setUsername(rep.getUsername());
|
user.setUsername(rep.getUsername());
|
||||||
}
|
}
|
||||||
user.setEmail(rep.getEmail());
|
if (rep.getEmail() != null) user.setEmail(rep.getEmail());
|
||||||
user.setFirstName(rep.getFirstName());
|
if (rep.getFirstName() != null) user.setFirstName(rep.getFirstName());
|
||||||
user.setLastName(rep.getLastName());
|
if (rep.getLastName() != null) user.setLastName(rep.getLastName());
|
||||||
|
|
||||||
if (rep.isEnabled() != null) user.setEnabled(rep.isEnabled());
|
if (rep.isEnabled() != null) user.setEnabled(rep.isEnabled());
|
||||||
if (rep.isTotp() != null) user.setOtpEnabled(rep.isTotp());
|
if (rep.isTotp() != null) user.setOtpEnabled(rep.isTotp());
|
||||||
|
|||||||
@@ -528,6 +528,32 @@ public class UserTest extends AbstractClientTest {
|
|||||||
assertEquals("user11", userRep.getUsername());
|
assertEquals("user11", userRep.getUsername());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateUserWithoutUsername() {
|
||||||
|
switchEditUsernameAllowedOn();
|
||||||
|
|
||||||
|
String id = createUser();
|
||||||
|
|
||||||
|
UserResource user = realm.users().get(id);
|
||||||
|
|
||||||
|
UserRepresentation rep = new UserRepresentation();
|
||||||
|
rep.setFirstName("Firstname");
|
||||||
|
|
||||||
|
user.update(rep);
|
||||||
|
|
||||||
|
rep = new UserRepresentation();
|
||||||
|
rep.setLastName("Lastname");
|
||||||
|
|
||||||
|
user.update(rep);
|
||||||
|
|
||||||
|
rep = realm.users().get(id).toRepresentation();
|
||||||
|
|
||||||
|
assertEquals("user1", rep.getUsername());
|
||||||
|
assertEquals("user1@localhost", rep.getEmail());
|
||||||
|
assertEquals("Firstname", rep.getFirstName());
|
||||||
|
assertEquals("Lastname", rep.getLastName());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateUserWithNewUsernameNotPossible() {
|
public void updateUserWithNewUsernameNotPossible() {
|
||||||
String id = createUser();
|
String id = createUser();
|
||||||
|
|||||||
Reference in new issue
Block a user