From d71fadabeb57166b61a7c1ebbbf16ee471186d20 Mon Sep 17 00:00:00 2001 From: mposolda Date: Mon, 3 Oct 2016 17:38:41 +0200 Subject: [PATCH] KEYCLOAK-3634 Allow adapter subsystem to just inject dependencies --- ...eycloakAdapterConfigDeploymentProcessor.java | 3 ++- .../as7/KeycloakAdapterConfigService.java | 17 +++++++++++++---- ...eycloakAdapterConfigDeploymentProcessor.java | 2 +- .../extension/KeycloakAdapterConfigService.java | 17 +++++++++++++---- ...eycloakAdapterConfigDeploymentProcessor.java | 2 +- .../extension/KeycloakAdapterConfigService.java | 17 +++++++++++++---- 6 files changed, 43 insertions(+), 15 deletions(-) diff --git a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigDeploymentProcessor.java b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigDeploymentProcessor.java index cdaa3755ea..39630d0c35 100755 --- a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigDeploymentProcessor.java +++ b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigDeploymentProcessor.java @@ -68,8 +68,9 @@ public class KeycloakAdapterConfigDeploymentProcessor implements DeploymentUnitP boolean hasSubsystemConfig = service.isSecureDeployment(deploymentUnit); boolean webRequiresKC = loginConfig != null && "KEYCLOAK".equalsIgnoreCase(loginConfig.getAuthMethod()); + boolean isConfigured = service.isDeploymentConfigured(deploymentUnit); - if (hasSubsystemConfig || webRequiresKC) { + if ((hasSubsystemConfig || webRequiresKC) && isConfigured) { log.debug("Setting up KEYCLOAK auth method for WAR: " + deploymentUnit.getName()); // if secure-deployment configuration exists for web app, we force KEYCLOAK auth method on it diff --git a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java index 34c5a6bc05..210473c28f 100755 --- a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java +++ b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java @@ -158,15 +158,19 @@ public final class KeycloakAdapterConfigService { } public String getRealmName(DeploymentUnit deploymentUnit) { - String deploymentName = preferredDeploymentName(deploymentUnit); - ModelNode deployment = this.secureDeployments.get(deploymentName); + ModelNode deployment = getSecureDeployment(deploymentUnit); return deployment.get(RealmDefinition.TAG_NAME).asString(); } + protected boolean isDeploymentConfigured(DeploymentUnit deploymentUnit) { + ModelNode deployment = getSecureDeployment(deploymentUnit); + ModelNode resource = deployment.get(SecureDeploymentDefinition.RESOURCE.getName()); + return resource.isDefined(); + } + public String getJSON(DeploymentUnit deploymentUnit) { - String deploymentName = preferredDeploymentName(deploymentUnit); - ModelNode deployment = this.secureDeployments.get(deploymentName); + ModelNode deployment = getSecureDeployment(deploymentUnit); String realmName = deployment.get(RealmDefinition.TAG_NAME).asString(); ModelNode realm = this.realms.get(realmName); @@ -195,6 +199,11 @@ public final class KeycloakAdapterConfigService { String deploymentName = preferredDeploymentName(deploymentUnit); return this.secureDeployments.containsKey(deploymentName); } + + private ModelNode getSecureDeployment(DeploymentUnit deploymentUnit) { + String deploymentName = preferredDeploymentName(deploymentUnit); + return this.secureDeployments.get(deploymentName); + } // KEYCLOAK-3273: prefer module name if available private String preferredDeploymentName(DeploymentUnit deploymentUnit) { diff --git a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigDeploymentProcessor.java b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigDeploymentProcessor.java index 0ec9335a57..cb341d2f99 100755 --- a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigDeploymentProcessor.java +++ b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigDeploymentProcessor.java @@ -67,7 +67,7 @@ public class KeycloakAdapterConfigDeploymentProcessor implements DeploymentUnitP DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); KeycloakAdapterConfigService service = KeycloakAdapterConfigService.getInstance(); - if (service.isSecureDeployment(deploymentUnit)) { + if (service.isSecureDeployment(deploymentUnit) && service.isDeploymentConfigured(deploymentUnit)) { addKeycloakAuthData(phaseContext, service); } diff --git a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java index 5978361e6b..8214c3f758 100755 --- a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java +++ b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java @@ -157,15 +157,19 @@ public final class KeycloakAdapterConfigService { } public String getRealmName(DeploymentUnit deploymentUnit) { - String deploymentName = preferredDeploymentName(deploymentUnit); - ModelNode deployment = this.secureDeployments.get(deploymentName); + ModelNode deployment = getSecureDeployment(deploymentUnit); return deployment.get(RealmDefinition.TAG_NAME).asString(); } + protected boolean isDeploymentConfigured(DeploymentUnit deploymentUnit) { + ModelNode deployment = getSecureDeployment(deploymentUnit); + ModelNode resource = deployment.get(SecureDeploymentDefinition.RESOURCE.getName()); + return resource.isDefined(); + } + public String getJSON(DeploymentUnit deploymentUnit) { - String deploymentName = preferredDeploymentName(deploymentUnit); - ModelNode deployment = this.secureDeployments.get(deploymentName); + ModelNode deployment = getSecureDeployment(deploymentUnit); String realmName = deployment.get(RealmDefinition.TAG_NAME).asString(); ModelNode realm = this.realms.get(realmName); @@ -194,6 +198,11 @@ public final class KeycloakAdapterConfigService { String deploymentName = preferredDeploymentName(deploymentUnit); return this.secureDeployments.containsKey(deploymentName); } + + private ModelNode getSecureDeployment(DeploymentUnit deploymentUnit) { + String deploymentName = preferredDeploymentName(deploymentUnit); + return this.secureDeployments.get(deploymentName); + } // KEYCLOAK-3273: prefer module name if available private String preferredDeploymentName(DeploymentUnit deploymentUnit) { diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigDeploymentProcessor.java b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigDeploymentProcessor.java index 9f52c41b4b..24e9ac0b74 100755 --- a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigDeploymentProcessor.java +++ b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigDeploymentProcessor.java @@ -67,7 +67,7 @@ public class KeycloakAdapterConfigDeploymentProcessor implements DeploymentUnitP DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); KeycloakAdapterConfigService service = KeycloakAdapterConfigService.getInstance(); - if (service.isSecureDeployment(deploymentUnit)) { + if (service.isSecureDeployment(deploymentUnit) && service.isDeploymentConfigured(deploymentUnit)) { addKeycloakAuthData(phaseContext, service); } diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java index b9b3ce380e..c30e3ed339 100755 --- a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java +++ b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java @@ -157,15 +157,19 @@ public final class KeycloakAdapterConfigService { } public String getRealmName(DeploymentUnit deploymentUnit) { - String deploymentName = preferredDeploymentName(deploymentUnit); - ModelNode deployment = this.secureDeployments.get(deploymentName); + ModelNode deployment = getSecureDeployment(deploymentUnit); return deployment.get(RealmDefinition.TAG_NAME).asString(); } + protected boolean isDeploymentConfigured(DeploymentUnit deploymentUnit) { + ModelNode deployment = getSecureDeployment(deploymentUnit); + ModelNode resource = deployment.get(SecureDeploymentDefinition.RESOURCE.getName()); + return resource.isDefined(); + } + public String getJSON(DeploymentUnit deploymentUnit) { - String deploymentName = preferredDeploymentName(deploymentUnit); - ModelNode deployment = this.secureDeployments.get(deploymentName); + ModelNode deployment = getSecureDeployment(deploymentUnit); String realmName = deployment.get(RealmDefinition.TAG_NAME).asString(); ModelNode realm = this.realms.get(realmName); @@ -194,6 +198,11 @@ public final class KeycloakAdapterConfigService { String deploymentName = preferredDeploymentName(deploymentUnit); return this.secureDeployments.containsKey(deploymentName); } + + private ModelNode getSecureDeployment(DeploymentUnit deploymentUnit) { + String deploymentName = preferredDeploymentName(deploymentUnit); + return this.secureDeployments.get(deploymentName); + } // KEYCLOAK-3273: prefer module name if available private String preferredDeploymentName(DeploymentUnit deploymentUnit) {