Rename loginName to username
This commit is contained in:
1 parent
4cbc423d67
commit
099743d448
40 files changed
+89
-89
No files matched your search
@@ -16,9 +16,9 @@ public interface UserModel {
|
||||
|
||||
String getId();
|
||||
|
||||
String getLoginName();
|
||||
String getUsername();
|
||||
|
||||
void setLoginName(String loginName);
|
||||
void setUsername(String username);
|
||||
|
||||
boolean isEnabled();
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.keycloak.models.UserModel;
|
||||
*/
|
||||
public class UserEntity extends AbstractIdentifiableEntity {
|
||||
|
||||
private String loginName;
|
||||
private String username;
|
||||
private String firstName;
|
||||
private String lastName;
|
||||
private String email;
|
||||
@@ -30,12 +30,12 @@ public class UserEntity extends AbstractIdentifiableEntity {
|
||||
private List<SocialLinkEntity> socialLinks;
|
||||
private AuthenticationLinkEntity authenticationLink;
|
||||
|
||||
public String getLoginName() {
|
||||
return loginName;
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setLoginName(String loginName) {
|
||||
this.loginName = loginName;
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getFirstName() {
|
||||
|
||||
Vendored
+5
-5
@@ -47,15 +47,15 @@ public class UserAdapter implements UserModel {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLoginName() {
|
||||
if (updated != null) return updated.getLoginName();
|
||||
return cached.getLoginName();
|
||||
public String getUsername() {
|
||||
if (updated != null) return updated.getUsername();
|
||||
return cached.getUsername();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLoginName(String loginName) {
|
||||
public void setUsername(String username) {
|
||||
getDelegateForUpdate();
|
||||
updated.setLoginName(loginName);
|
||||
updated.setUsername(username);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-5
@@ -19,7 +19,7 @@ import java.util.Set;
|
||||
*/
|
||||
public class CachedUser {
|
||||
private String id;
|
||||
private String loginName;
|
||||
private String username;
|
||||
private String usernameKey;
|
||||
private String firstName;
|
||||
private String lastName;
|
||||
@@ -38,8 +38,8 @@ public class CachedUser {
|
||||
|
||||
public CachedUser(RealmModel realm, UserModel user) {
|
||||
this.id = user.getId();
|
||||
this.loginName = user.getLoginName();
|
||||
this.usernameKey = realm.getId() + "." + this.loginName;
|
||||
this.username = user.getUsername();
|
||||
this.usernameKey = realm.getId() + "." + this.username;
|
||||
this.firstName = user.getFirstName();
|
||||
this.lastName = user.getLastName();
|
||||
this.attributes.putAll(user.getAttributes());
|
||||
@@ -63,8 +63,8 @@ public class CachedUser {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getLoginName() {
|
||||
return loginName;
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public String getUsernameKey() {
|
||||
|
||||
@@ -93,8 +93,8 @@ public class JpaModelProvider implements ModelProvider {
|
||||
|
||||
@Override
|
||||
public UserModel getUserByUsername(String username, RealmModel realmModel) {
|
||||
TypedQuery<UserEntity> query = em.createNamedQuery("getRealmUserByLoginName", UserEntity.class);
|
||||
query.setParameter("loginName", username);
|
||||
TypedQuery<UserEntity> query = em.createNamedQuery("getRealmUserByUsername", UserEntity.class);
|
||||
query.setParameter("username", username);
|
||||
RealmEntity realm = em.getReference(RealmEntity.class, realmModel.getId());
|
||||
query.setParameter("realm", realm);
|
||||
List<UserEntity> results = query.getResultList();
|
||||
@@ -130,7 +130,7 @@ public class JpaModelProvider implements ModelProvider {
|
||||
}
|
||||
|
||||
for (UserEntity u : em.createQuery("from UserEntity u where u.realm = :realm", UserEntity.class).setParameter("realm", realm).getResultList()) {
|
||||
adapter.removeUser(u.getLoginName());
|
||||
adapter.removeUser(u.getUsername());
|
||||
}
|
||||
|
||||
em.remove(realm);
|
||||
@@ -185,7 +185,7 @@ public class JpaModelProvider implements ModelProvider {
|
||||
|
||||
@Override
|
||||
public List<UserModel> searchForUser(String search, RealmModel realm) {
|
||||
TypedQuery<UserEntity> query = em.createQuery("select u from UserEntity u where u.realm = :realm and ( lower(u.loginName) like :search or lower(concat(u.firstName, ' ', u.lastName)) like :search or u.email like :search )", UserEntity.class);
|
||||
TypedQuery<UserEntity> query = em.createQuery("select u from UserEntity u where u.realm = :realm and ( lower(u.username) like :search or lower(concat(u.firstName, ' ', u.lastName)) like :search or u.email like :search )", UserEntity.class);
|
||||
RealmEntity realmEntity = em.getReference(RealmEntity.class, realm.getId());
|
||||
query.setParameter("realm", realmEntity);
|
||||
query.setParameter("search", "%" + search.toLowerCase() + "%");
|
||||
@@ -202,7 +202,7 @@ public class JpaModelProvider implements ModelProvider {
|
||||
for (Map.Entry<String, String> entry : attributes.entrySet()) {
|
||||
String attribute = null;
|
||||
if (entry.getKey().equals(UserModel.LOGIN_NAME)) {
|
||||
attribute = "lower(loginName)";
|
||||
attribute = "lower(username)";
|
||||
} else if (entry.getKey().equalsIgnoreCase(UserModel.FIRST_NAME)) {
|
||||
attribute = "lower(firstName)";
|
||||
} else if (entry.getKey().equalsIgnoreCase(UserModel.LAST_NAME)) {
|
||||
|
||||
@@ -462,7 +462,7 @@ public class RealmAdapter implements RealmModel {
|
||||
public UserModel addUser(String id, String username) {
|
||||
UserEntity entity = new UserEntity();
|
||||
entity.setId(id);
|
||||
entity.setLoginName(username);
|
||||
entity.setUsername(username);
|
||||
entity.setRealm(realm);
|
||||
em.persist(entity);
|
||||
em.flush();
|
||||
@@ -483,8 +483,8 @@ public class RealmAdapter implements RealmModel {
|
||||
|
||||
@Override
|
||||
public boolean removeUser(String name) {
|
||||
TypedQuery<UserEntity> query = em.createNamedQuery("getRealmUserByLoginName", UserEntity.class);
|
||||
query.setParameter("loginName", name);
|
||||
TypedQuery<UserEntity> query = em.createNamedQuery("getRealmUserByUsername", UserEntity.class);
|
||||
query.setParameter("username", name);
|
||||
query.setParameter("realm", realm);
|
||||
List<UserEntity> results = query.getResultList();
|
||||
if (results.size() == 0) return false;
|
||||
|
||||
@@ -53,13 +53,13 @@ public class UserAdapter implements UserModel {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLoginName() {
|
||||
return user.getLoginName();
|
||||
public String getUsername() {
|
||||
return user.getUsername();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLoginName(String loginName) {
|
||||
user.setLoginName(loginName);
|
||||
public void setUsername(String username) {
|
||||
user.setUsername(username);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -35,21 +35,21 @@ import java.util.Set;
|
||||
*/
|
||||
@NamedQueries({
|
||||
@NamedQuery(name="getRealmUserById", query="select u from UserEntity u where u.id = :id and u.realm = :realm"),
|
||||
@NamedQuery(name="getRealmUserByLoginName", query="select u from UserEntity u where u.loginName = :loginName and u.realm = :realm"),
|
||||
@NamedQuery(name="getRealmUserByUsername", query="select u from UserEntity u where u.username = :username and u.realm = :realm"),
|
||||
@NamedQuery(name="getRealmUserByEmail", query="select u from UserEntity u where u.email = :email and u.realm = :realm"),
|
||||
@NamedQuery(name="getRealmUserByLastName", query="select u from UserEntity u where u.lastName = :lastName and u.realm = :realm"),
|
||||
@NamedQuery(name="getRealmUserByFirstLastName", query="select u from UserEntity u where u.firstName = :first and u.lastName = :last and u.realm = :realm")
|
||||
})
|
||||
@Entity
|
||||
@Table(uniqueConstraints = {
|
||||
@UniqueConstraint(columnNames = { "realm", "loginName" }),
|
||||
@UniqueConstraint(columnNames = { "realm", "username" }),
|
||||
@UniqueConstraint(columnNames = { "realm", "emailConstraint" })
|
||||
})
|
||||
public class UserEntity {
|
||||
@Id
|
||||
protected String id;
|
||||
|
||||
protected String loginName;
|
||||
protected String username;
|
||||
protected String firstName;
|
||||
protected String lastName;
|
||||
protected String email;
|
||||
@@ -89,12 +89,12 @@ public class UserEntity {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLoginName() {
|
||||
return loginName;
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setLoginName(String loginName) {
|
||||
this.loginName = loginName;
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getFirstName() {
|
||||
|
||||
+3
-3
@@ -132,7 +132,7 @@ public class MongoModelProvider implements ModelProvider {
|
||||
@Override
|
||||
public UserModel getUserByUsername(String username, RealmModel realm) {
|
||||
DBObject query = new QueryBuilder()
|
||||
.and("loginName").is(username)
|
||||
.and("username").is(username)
|
||||
.and("realmId").is(realm.getId())
|
||||
.get();
|
||||
MongoUserEntity user = getMongoStore().loadSingleEntity(MongoUserEntity.class, query, invocationContext);
|
||||
@@ -226,7 +226,7 @@ public class MongoModelProvider implements ModelProvider {
|
||||
QueryBuilder builder = new QueryBuilder().and(
|
||||
new QueryBuilder().and("realmId").is(realm.getId()).get(),
|
||||
new QueryBuilder().or(
|
||||
new QueryBuilder().put("loginName").regex(caseInsensitivePattern).get(),
|
||||
new QueryBuilder().put("username").regex(caseInsensitivePattern).get(),
|
||||
new QueryBuilder().put("email").regex(caseInsensitivePattern).get(),
|
||||
nameBuilder.get()
|
||||
|
||||
@@ -243,7 +243,7 @@ public class MongoModelProvider implements ModelProvider {
|
||||
|
||||
for (Map.Entry<String, String> entry : attributes.entrySet()) {
|
||||
if (entry.getKey().equals(UserModel.LOGIN_NAME)) {
|
||||
queryBuilder.and("loginName").regex(Pattern.compile("(?i:" + entry.getValue() + "$)"));
|
||||
queryBuilder.and("username").regex(Pattern.compile("(?i:" + entry.getValue() + "$)"));
|
||||
} else if (entry.getKey().equalsIgnoreCase(UserModel.FIRST_NAME)) {
|
||||
queryBuilder.and(UserModel.FIRST_NAME).regex(Pattern.compile("(?i:" + entry.getValue() + "$)"));
|
||||
|
||||
|
||||
+2
-2
@@ -503,7 +503,7 @@ public class RealmAdapter extends AbstractMongoAdapter<MongoRealmEntity> impleme
|
||||
protected UserAdapter addUserEntity(String id, String username) {
|
||||
MongoUserEntity userEntity = new MongoUserEntity();
|
||||
userEntity.setId(id);
|
||||
userEntity.setLoginName(username);
|
||||
userEntity.setUsername(username);
|
||||
// Compatibility with JPA model, which has user disabled by default
|
||||
// userEntity.setEnabled(true);
|
||||
userEntity.setRealmId(getId());
|
||||
@@ -515,7 +515,7 @@ public class RealmAdapter extends AbstractMongoAdapter<MongoRealmEntity> impleme
|
||||
@Override
|
||||
public boolean removeUser(String name) {
|
||||
DBObject query = new QueryBuilder()
|
||||
.and("loginName").is(name)
|
||||
.and("username").is(name)
|
||||
.and("realmId").is(getId())
|
||||
.get();
|
||||
return getMongoStore().removeEntities(MongoUserEntity.class, query, invocationContext);
|
||||
|
||||
+4
-4
@@ -49,13 +49,13 @@ public class UserAdapter extends AbstractMongoAdapter<MongoUserEntity> implement
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLoginName() {
|
||||
return user.getLoginName();
|
||||
public String getUsername() {
|
||||
return user.getUsername();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLoginName(String loginName) {
|
||||
user.setLoginName(loginName);
|
||||
public void setUsername(String username) {
|
||||
user.setUsername(username);
|
||||
updateUser();
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -50,7 +50,7 @@ public class MongoRoleEntity extends RoleEntity implements MongoIdentifiableEnti
|
||||
|
||||
List<MongoUserEntity> users = mongoStore.loadEntities(MongoUserEntity.class, query, invContext);
|
||||
for (MongoUserEntity user : users) {
|
||||
logger.info("Removing role " + getName() + " from user " + user.getLoginName());
|
||||
logger.info("Removing role " + getName() + " from user " + user.getUsername());
|
||||
mongoStore.pullItemFromList(user, "roleIds", getId(), invContext);
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public class MongoRoleEntity extends RoleEntity implements MongoIdentifiableEnti
|
||||
|
||||
users = mongoStore.loadEntities(MongoUserEntity.class, query, invContext);
|
||||
for (MongoUserEntity user : users) {
|
||||
logger.info("Removing scope " + getName() + " from user " + user.getLoginName());
|
||||
logger.info("Removing scope " + getName() + " from user " + user.getUsername());
|
||||
mongoStore.pullItemFromList(user, "scopeIds", getId(), invContext);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import org.keycloak.models.mongo.api.context.MongoStoreInvocationContext;
|
||||
*/
|
||||
@MongoCollection(collectionName = "users")
|
||||
@MongoIndexes({
|
||||
@MongoIndex(fields = { "realmId", "loginName" }, unique = true),
|
||||
@MongoIndex(fields = { "realmId", "username" }, unique = true),
|
||||
@MongoIndex(fields = { "emailIndex" }, unique = true, sparse = true),
|
||||
})
|
||||
public class MongoUserEntity extends UserEntity implements MongoIdentifiableEntity {
|
||||
|
||||
@@ -160,7 +160,7 @@ public class AdapterTest extends AbstractModelTest {
|
||||
RoleModel appRole = app.addRole("test");
|
||||
user.grantRole(appRole);
|
||||
|
||||
SocialLinkModel socialLink = new SocialLinkModel("google", "google1", user.getLoginName());
|
||||
SocialLinkModel socialLink = new SocialLinkModel("google", "google1", user.getUsername());
|
||||
realmModel.addSocialLink(user, socialLink);
|
||||
|
||||
UserCredentialModel cred = new UserCredentialModel();
|
||||
@@ -312,7 +312,7 @@ public class AdapterTest extends AbstractModelTest {
|
||||
{
|
||||
ArrayList<String> users = new ArrayList<String>();
|
||||
for (UserModel u : adapter.searchUsers("ole alver", realmModel)) {
|
||||
users.add(u.getLoginName());
|
||||
users.add(u.getUsername());
|
||||
}
|
||||
String[] usernames = users.toArray(new String[users.size()]);
|
||||
Arrays.sort(usernames);
|
||||
@@ -625,7 +625,7 @@ public class AdapterTest extends AbstractModelTest {
|
||||
realmManager.getRealmByName("JUGGLER1").addUser("user2");
|
||||
commit();
|
||||
try {
|
||||
realmManager.getRealmByName("JUGGLER1").getUser("user2").setLoginName("user1");
|
||||
realmManager.getRealmByName("JUGGLER1").getUser("user2").setUsername("user1");
|
||||
commit();
|
||||
Assert.fail("Expected exception");
|
||||
} catch (ModelDuplicateException e) {
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ public class AuthProvidersExternalModelTest extends AbstractModelTest {
|
||||
Assert.assertEquals(AuthenticationManager.AuthenticationStatus.SUCCESS, am.authenticateForm(null, realm2, formData));
|
||||
UserModel john2 = realm2.getUser("john");
|
||||
Assert.assertNotNull(john2);
|
||||
Assert.assertEquals("john", john2.getLoginName());
|
||||
Assert.assertEquals("john", john2.getUsername());
|
||||
Assert.assertEquals("John", john2.getFirstName());
|
||||
Assert.assertEquals("Doe", john2.getLastName());
|
||||
Assert.assertEquals("john@email.org", john2.getEmail());
|
||||
|
||||
@@ -89,7 +89,7 @@ public class AuthProvidersLDAPTest extends AbstractModelTest {
|
||||
Assert.assertEquals(AuthenticationManager.AuthenticationStatus.SUCCESS, am.authenticateForm(null, realm, formData));
|
||||
UserModel john = realm.getUser("johnkeycloak");
|
||||
Assert.assertNotNull(john);
|
||||
Assert.assertEquals("johnkeycloak", john.getLoginName());
|
||||
Assert.assertEquals("johnkeycloak", john.getUsername());
|
||||
Assert.assertEquals("John", john.getFirstName());
|
||||
Assert.assertEquals("Doe", john.getLastName());
|
||||
Assert.assertEquals("john@email.org", john.getEmail());
|
||||
|
||||
@@ -173,7 +173,7 @@ public class ImportTest extends AbstractModelTest {
|
||||
Assert.assertTrue(facebookFound && twitterFound && googleFound);
|
||||
|
||||
UserModel foundSocialUser = realm.getUserBySocialLink(new SocialLinkModel("facebook", "facebook1", "fbuser1"));
|
||||
Assert.assertEquals(foundSocialUser.getLoginName(), socialUser.getLoginName());
|
||||
Assert.assertEquals(foundSocialUser.getUsername(), socialUser.getUsername());
|
||||
Assert.assertNull(realm.getUserBySocialLink(new SocialLinkModel("facebook", "not-existing", "not-existing")));
|
||||
|
||||
SocialLinkModel foundSocialLink = realm.getSocialLink(socialUser, "facebook");
|
||||
|
||||
@@ -33,7 +33,7 @@ public class MultipleRealmsTest extends AbstractModelTest {
|
||||
public void testUsers() {
|
||||
UserModel r1user1 = realm1.getUser("user1");
|
||||
UserModel r2user1 = realm2.getUser("user1");
|
||||
Assert.assertEquals(r1user1.getLoginName(), r2user1.getLoginName());
|
||||
Assert.assertEquals(r1user1.getUsername(), r2user1.getUsername());
|
||||
Assert.assertNotEquals(r1user1.getId(), r2user1.getId());
|
||||
|
||||
// Test password
|
||||
|
||||
@@ -111,7 +111,7 @@ public class UserModelTest extends AbstractModelTest {
|
||||
}
|
||||
|
||||
public static void assertEquals(UserModel expected, UserModel actual) {
|
||||
Assert.assertEquals(expected.getLoginName(), actual.getLoginName());
|
||||
Assert.assertEquals(expected.getUsername(), actual.getUsername());
|
||||
Assert.assertEquals(expected.getFirstName(), actual.getFirstName());
|
||||
Assert.assertEquals(expected.getLastName(), actual.getLastName());
|
||||
Assert.assertArrayEquals(expected.getRequiredActions().toArray(), actual.getRequiredActions().toArray());
|
||||
|
||||
Reference in new issue
Block a user