keycloak-aplcache
Changes
core/src/main/java/org/keycloak/representations/idm/AuthenticationExecutionRepresentation.java 10(+5 -5)
Details
diff --git a/core/src/main/java/org/keycloak/representations/idm/AuthenticationExecutionRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/AuthenticationExecutionRepresentation.java
index 8ca78d4..89b2c41 100755
--- a/core/src/main/java/org/keycloak/representations/idm/AuthenticationExecutionRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/AuthenticationExecutionRepresentation.java
@@ -12,7 +12,7 @@ public class AuthenticationExecutionRepresentation implements Serializable {
private String authenticatorConfig;
private String authenticator;
- private String flowId;
+ private String flowAlias;
private boolean autheticatorFlow;
private String requirement;
private boolean userSetupAllowed;
@@ -63,12 +63,12 @@ public class AuthenticationExecutionRepresentation implements Serializable {
*
* @return
*/
- public String getFlowId() {
- return flowId;
+ public String getFlowAlias() {
+ return flowAlias;
}
- public void setFlowId(String flowId) {
- this.flowId = flowId;
+ public void setFlowAlias(String flowId) {
+ this.flowAlias = flowId;
}
/**
diff --git a/core/src/main/java/org/keycloak/representations/idm/AuthenticationFlowRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/AuthenticationFlowRepresentation.java
index a6ad705..e7bd3a0 100755
--- a/core/src/main/java/org/keycloak/representations/idm/AuthenticationFlowRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/AuthenticationFlowRepresentation.java
@@ -10,7 +10,6 @@ import java.util.List;
public class AuthenticationFlowRepresentation implements Serializable {
private static final long serialVersionUID = 1L;
- private String id;
private String alias;
private String description;
private String providerId;
@@ -18,14 +17,6 @@ public class AuthenticationFlowRepresentation implements Serializable {
private boolean builtIn;
protected List<AuthenticationExecutionRepresentation> authenticationExecutions;
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
public String getAlias() {
return alias;
}
diff --git a/core/src/main/java/org/keycloak/representations/idm/AuthenticatorConfigRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/AuthenticatorConfigRepresentation.java
index e3f48e0..e3e292b 100755
--- a/core/src/main/java/org/keycloak/representations/idm/AuthenticatorConfigRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/AuthenticatorConfigRepresentation.java
@@ -11,19 +11,10 @@ import java.util.Map;
public class AuthenticatorConfigRepresentation implements Serializable {
private static final long serialVersionUID = 1L;
- private String id;
private String alias;
private Map<String, String> config = new HashMap<String, String>();
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
public String getAlias() {
return alias;
}
diff --git a/model/api/src/main/java/org/keycloak/models/RealmModel.java b/model/api/src/main/java/org/keycloak/models/RealmModel.java
index 27af04e..4f3c13c 100755
--- a/model/api/src/main/java/org/keycloak/models/RealmModel.java
+++ b/model/api/src/main/java/org/keycloak/models/RealmModel.java
@@ -198,6 +198,7 @@ public interface RealmModel extends RoleContainerModel {
void updateAuthenticatorConfig(AuthenticatorConfigModel model);
void removeAuthenticatorConfig(AuthenticatorConfigModel model);
AuthenticatorConfigModel getAuthenticatorConfigById(String id);
+ AuthenticatorConfigModel getAuthenticatorConfigByAlias(String alias);
List<RequiredActionProviderModel> getRequiredActionProviders();
RequiredActionProviderModel addRequiredActionProvider(RequiredActionProviderModel model);
diff --git a/model/api/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java b/model/api/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
index 19c4e81..3c634b2 100755
--- a/model/api/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
+++ b/model/api/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
@@ -37,7 +37,6 @@ import org.keycloak.representations.idm.UserFederationMapperRepresentation;
import org.keycloak.representations.idm.UserFederationProviderRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.representations.idm.UserSessionRepresentation;
-import org.keycloak.util.MultivaluedHashMap;
import org.keycloak.util.Time;
import java.util.ArrayList;
@@ -199,11 +198,7 @@ public class ModelToRepresentation {
rep.setAuthenticationFlows(new LinkedList<AuthenticationFlowRepresentation>());
rep.setAuthenticatorConfig(new LinkedList<AuthenticatorConfigRepresentation>());
for (AuthenticationFlowModel model : realm.getAuthenticationFlows()) {
- AuthenticationFlowRepresentation flowRep = toRepresentation(model);
- flowRep.setAuthenticationExecutions(new LinkedList<AuthenticationExecutionRepresentation>());
- for (AuthenticationExecutionModel execution : realm.getAuthenticationExecutions(model.getId())) {
- flowRep.getAuthenticationExecutions().add(toRepresentation(execution));
- }
+ AuthenticationFlowRepresentation flowRep = toRepresentation(realm, model);
rep.getAuthenticationFlows().add(flowRep);
}
for (AuthenticatorConfigModel model : realm.getAuthenticatorConfigs()) {
@@ -430,24 +425,33 @@ public class ModelToRepresentation {
return consentRep;
}
- public static AuthenticationFlowRepresentation toRepresentation(AuthenticationFlowModel model) {
+ public static AuthenticationFlowRepresentation toRepresentation(RealmModel realm, AuthenticationFlowModel model) {
AuthenticationFlowRepresentation rep = new AuthenticationFlowRepresentation();
rep.setBuiltIn(model.isBuiltIn());
rep.setTopLevel(model.isTopLevel());
rep.setProviderId(model.getProviderId());
- rep.setId(model.getId());
rep.setAlias(model.getAlias());
rep.setDescription(model.getDescription());
+ rep.setAuthenticationExecutions(new LinkedList<AuthenticationExecutionRepresentation>());
+ for (AuthenticationExecutionModel execution : realm.getAuthenticationExecutions(model.getId())) {
+ rep.getAuthenticationExecutions().add(toRepresentation(realm, execution));
+ }
return rep;
}
- public static AuthenticationExecutionRepresentation toRepresentation(AuthenticationExecutionModel model) {
+ public static AuthenticationExecutionRepresentation toRepresentation(RealmModel realm, AuthenticationExecutionModel model) {
AuthenticationExecutionRepresentation rep = new AuthenticationExecutionRepresentation();
- rep.setAuthenticatorConfig(model.getAuthenticatorConfig());
+ if (model.getAuthenticatorConfig() != null) {
+ AuthenticatorConfigModel config = realm.getAuthenticatorConfigById(model.getAuthenticatorConfig());
+ rep.setAuthenticatorConfig(config.getAlias());
+ }
rep.setAuthenticator(model.getAuthenticator());
rep.setAutheticatorFlow(model.isAutheticatorFlow());
- rep.setFlowId(model.getFlowId());
+ if (model.getFlowId() != null) {
+ AuthenticationFlowModel flow = realm.getAuthenticationFlowById(model.getFlowId());
+ rep.setFlowAlias(flow.getAlias());
+ }
rep.setPriority(model.getPriority());
rep.setUserSetupAllowed(model.isUserSetupAllowed());
rep.setRequirement(model.getRequirement().name());
@@ -456,7 +460,6 @@ public class ModelToRepresentation {
public static AuthenticatorConfigRepresentation toRepresentation(AuthenticatorConfigModel model) {
AuthenticatorConfigRepresentation rep = new AuthenticatorConfigRepresentation();
- rep.setId(model.getId());
rep.setAlias(model.getAlias());
rep.setConfig(model.getConfig());
return rep;
diff --git a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
index e0a328e..3bdaffd 100755
--- a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
+++ b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
@@ -303,20 +303,23 @@ public class RepresentationToModel {
// assume this is an old version being imported
DefaultAuthenticationFlows.addFlows(newRealm);
} else {
+ for (AuthenticatorConfigRepresentation configRep : rep.getAuthenticatorConfig()) {
+ AuthenticatorConfigModel model = toModel(configRep);
+ newRealm.addAuthenticatorConfig(model);
+ }
for (AuthenticationFlowRepresentation flowRep : rep.getAuthenticationFlows()) {
AuthenticationFlowModel model = toModel(flowRep);
model = newRealm.addAuthenticationFlow(model);
+ }
+ for (AuthenticationFlowRepresentation flowRep : rep.getAuthenticationFlows()) {
+ AuthenticationFlowModel model = newRealm.getFlowByAlias(flowRep.getAlias());
for (AuthenticationExecutionRepresentation exeRep : flowRep.getAuthenticationExecutions()) {
- AuthenticationExecutionModel execution = toModel(exeRep);
+ AuthenticationExecutionModel execution = toModel(newRealm, exeRep);
execution.setParentFlow(model.getId());
newRealm.addAuthenticatorExecution(execution);
}
}
- for (AuthenticatorConfigRepresentation configRep : rep.getAuthenticatorConfig()) {
- AuthenticatorConfigModel model = toModel(configRep);
- newRealm.addAuthenticatorConfig(model);
- }
- }
+ }
}
@@ -1044,19 +1047,24 @@ public class RepresentationToModel {
model.setBuiltIn(rep.isBuiltIn());
model.setTopLevel(rep.isTopLevel());
model.setProviderId(rep.getProviderId());
- model.setId(rep.getId());
model.setAlias(rep.getAlias());
model.setDescription(rep.getDescription());
return model;
}
- public static AuthenticationExecutionModel toModel(AuthenticationExecutionRepresentation rep) {
+ public static AuthenticationExecutionModel toModel(RealmModel realm, AuthenticationExecutionRepresentation rep) {
AuthenticationExecutionModel model = new AuthenticationExecutionModel();
- model.setAuthenticatorConfig(rep.getAuthenticatorConfig());
+ if (rep.getAuthenticatorConfig() != null) {
+ AuthenticatorConfigModel config = realm.getAuthenticatorConfigByAlias(rep.getAuthenticatorConfig());
+ model.setAuthenticatorConfig(config.getId());
+ }
model.setAuthenticator(rep.getAuthenticator());
model.setAutheticatorFlow(rep.isAutheticatorFlow());
- model.setFlowId(rep.getFlowId());
+ if (rep.getFlowAlias() != null) {
+ AuthenticationFlowModel flow = realm.getFlowByAlias(rep.getFlowAlias());
+ model.setFlowId(flow.getId());
+ }
model.setPriority(rep.getPriority());
model.setUserSetupAllowed(rep.isUserSetupAllowed());
model.setRequirement(AuthenticationExecutionModel.Requirement.valueOf(rep.getRequirement()));
@@ -1065,7 +1073,6 @@ public class RepresentationToModel {
public static AuthenticatorConfigModel toModel(AuthenticatorConfigRepresentation rep) {
AuthenticatorConfigModel model = new AuthenticatorConfigModel();
- model.setId(rep.getId());
model.setAlias(rep.getAlias());
model.setConfig(rep.getConfig());
return model;
diff --git a/model/file/src/main/java/org/keycloak/models/file/adapter/RealmAdapter.java b/model/file/src/main/java/org/keycloak/models/file/adapter/RealmAdapter.java
index 086541e..09d4304 100755
--- a/model/file/src/main/java/org/keycloak/models/file/adapter/RealmAdapter.java
+++ b/model/file/src/main/java/org/keycloak/models/file/adapter/RealmAdapter.java
@@ -1399,6 +1399,17 @@ public class RealmAdapter implements RealmModel {
}
@Override
+ public AuthenticatorConfigModel getAuthenticatorConfigByAlias(String alias) {
+ for (AuthenticatorConfigModel config : getAuthenticatorConfigs()) {
+ if (config.getAlias().equals(alias)) {
+ return config;
+ }
+ }
+ return null;
+ }
+
+
+ @Override
public AuthenticatorConfigModel addAuthenticatorConfig(AuthenticatorConfigModel model) {
AuthenticatorConfigEntity auth = new AuthenticatorConfigEntity();
String id = (model.getId() == null) ? KeycloakModelUtils.generateId(): model.getId();
diff --git a/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/RealmAdapter.java b/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/RealmAdapter.java
index b620f18..03ceced 100755
--- a/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/RealmAdapter.java
+++ b/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/RealmAdapter.java
@@ -1036,6 +1036,17 @@ public class RealmAdapter implements RealmModel {
}
@Override
+ public AuthenticatorConfigModel getAuthenticatorConfigByAlias(String alias) {
+ for (AuthenticatorConfigModel config : getAuthenticatorConfigs()) {
+ if (config.getAlias().equals(alias)) {
+ return config;
+ }
+ }
+ return null;
+ }
+
+
+ @Override
public AuthenticationFlowModel addAuthenticationFlow(AuthenticationFlowModel model) {
getDelegateForUpdate();
return updated.addAuthenticationFlow(model);
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java
index eb83947..51148f0 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java
@@ -1537,6 +1537,15 @@ public class RealmAdapter implements RealmModel {
return null;
}
+ @Override
+ public AuthenticatorConfigModel getAuthenticatorConfigByAlias(String alias) {
+ for (AuthenticatorConfigModel config : getAuthenticatorConfigs()) {
+ if (config.getAlias().equals(alias)) {
+ return config;
+ }
+ }
+ return null;
+ }
protected AuthenticationFlowModel entityToModel(AuthenticationFlowEntity entity) {
AuthenticationFlowModel model = new AuthenticationFlowModel();
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/RealmAdapter.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/RealmAdapter.java
index a3ebace..2766ece 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/RealmAdapter.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/RealmAdapter.java
@@ -1478,6 +1478,17 @@ public class RealmAdapter extends AbstractMongoAdapter<MongoRealmEntity> impleme
}
@Override
+ public AuthenticatorConfigModel getAuthenticatorConfigByAlias(String alias) {
+ for (AuthenticatorConfigModel config : getAuthenticatorConfigs()) {
+ if (config.getAlias().equals(alias)) {
+ return config;
+ }
+ }
+ return null;
+ }
+
+
+ @Override
public AuthenticatorConfigModel addAuthenticatorConfig(AuthenticatorConfigModel model) {
AuthenticatorConfigEntity auth = new AuthenticatorConfigEntity();
String id = (model.getId() == null) ? KeycloakModelUtils.generateId(): model.getId();