135 boolean usernameChanged = userRep.getUsername() != null && !userRep.getUsername().equals(
user.
getUsername());
136 if (realm.isEditUsernameAllowed()) {
137 if (usernameChanged) {
139 if (existing != null) {
140 return ErrorResponse.exists(Messages.USERNAME_EXISTS);
145 }
else if (usernameChanged) {
146 return ErrorResponse.error(Messages.READ_ONLY_USERNAME, Response.Status.BAD_REQUEST);
149 boolean emailChanged = userRep.getEmail() != null && !userRep.getEmail().equals(
user.
getEmail());
150 if (emailChanged && !realm.isDuplicateEmailsAllowed()) {
152 if (existing != null) {
153 return ErrorResponse.exists(Messages.EMAIL_EXISTS);
157 if (realm.isRegistrationEmailAsUsername() && !realm.isDuplicateEmailsAllowed()) {
159 if (existing != null) {
160 return ErrorResponse.exists(Messages.USERNAME_EXISTS);
168 event.clone().event(EventType.UPDATE_EMAIL).detail(Details.PREVIOUS_EMAIL, oldEmail).detail(Details.UPDATED_EMAIL, userRep.getEmail()).success();
170 if (realm.isRegistrationEmailAsUsername()) {
178 if (userRep.getAttributes() != null) {
180 if (!userRep.getAttributes().containsKey(k)) {
185 for (Map.Entry<String, List<String>> e : userRep.getAttributes().entrySet()) {
193 }
catch (ReadOnlyException e) {
194 return ErrorResponse.error(Messages.READ_ONLY_USER, Response.Status.BAD_REQUEST);
KeycloakContext getContext()
final RealmModel realm
Definition: AccountRestService.java:69
ClientModel getClient()
Definition: Auth.java:63
void require(String role)
Definition: Auth.java:83
void setEmail(String email)
Auth auth
Definition: AccountRestService.java:67
Map< String, List< String > > getAttributes()
void removeAttribute(String name)
void setFirstName(String firstName)
void setUsername(String username)
void setAttribute(String name, List< String > values)
void setEmailVerified(boolean verified)
AccessToken getToken()
Definition: Auth.java:67
HttpRequest request
Definition: AccountRestService.java:57
UserModel getUserByEmail(String email, RealmModel realm)
final KeycloakSession session
Definition: AccountRestService.java:63
UserModel getUserByUsername(String username, RealmModel realm)
final UserModel user
Definition: AccountRestService.java:70
void setLastName(String lastName)