diff --git a/model/map-jpa/src/main/java/org/keycloak/models/map/storage/jpa/user/entity/JpaUserEntity.java b/model/map-jpa/src/main/java/org/keycloak/models/map/storage/jpa/user/entity/JpaUserEntity.java index e837e22a7c5..2142e7c0118 100644 --- a/model/map-jpa/src/main/java/org/keycloak/models/map/storage/jpa/user/entity/JpaUserEntity.java +++ b/model/map-jpa/src/main/java/org/keycloak/models/map/storage/jpa/user/entity/JpaUserEntity.java @@ -65,7 +65,8 @@ import static org.keycloak.models.map.storage.jpa.JpaMapStorageProviderFactory.C @Entity @Table(name = "kc_user", uniqueConstraints = { - @UniqueConstraint(columnNames = {"realmId", "username"}), + // if same username it can differ only in usernameWithCase + @UniqueConstraint(columnNames = {"realmId", "username", "usernameWithCase"}), @UniqueConstraint(columnNames = {"realmId", "emailConstraint"}) }) @TypeDefs({@TypeDef(name = "jsonb", typeClass = JsonbType.class)}) diff --git a/model/map-jpa/src/main/resources/META-INF/users/jpa-users-changelog-2.xml b/model/map-jpa/src/main/resources/META-INF/users/jpa-users-changelog-2.xml index a476f7fc74c..54d92d860e2 100644 --- a/model/map-jpa/src/main/resources/META-INF/users/jpa-users-changelog-2.xml +++ b/model/map-jpa/src/main/resources/META-INF/users/jpa-users-changelog-2.xml @@ -34,4 +34,9 @@ limitations under the License. + + + + +