Email should be set when email as username is enabled and email is read-only

Closes #43718

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
This commit is contained in:
Pedro Igor
2025-10-27 11:11:42 -03:00
committed by Bruno Oliveira da Silva
parent 8aada2c8e2
commit fa108e3534
2 changed files with 5 additions and 0 deletions

View File

@@ -264,6 +264,7 @@ public class DefaultAttributes extends HashMap<String, List<String>> implements
RealmModel realm = session.getContext().getRealm();
if ((UserModel.USERNAME.equals(name) && realm.isRegistrationEmailAsUsername())
|| isReadableOrWritableDuringRegistration(name)
|| !isManagedAttribute(name)) {
continue;
}

View File

@@ -688,6 +688,10 @@ public class RegisterWithUserProfileTest extends AbstractTestRealmKeycloakTest {
registerPage.registerWithEmailAsUsername("firstName", "lastName", "myusername1@keycloak.org", generatePassword());
assertEquals(RequestType.AUTH_RESPONSE, appPage.getRequestType());
UserRepresentation user = testRealm().users().search("myusername1@keycloak.org").get(0);
assertEquals("myusername1@keycloak.org", user.getEmail());
UserRepresentation rep = testRealm().users().get(user.getId()).toRepresentation();
assertEquals("myusername1@keycloak.org", rep.getEmail());
}
private void assertUserRegistered(String userId, String username, String email, String firstName, String lastName) {