keycloak-developers
Changes
integration/keycloak-server-subsystem/src/main/resources/schema/wildfly-keycloak-server_1_1.xsd 81(+7 -74)
Details
diff --git a/integration/keycloak-server-subsystem/src/main/resources/schema/wildfly-keycloak-server_1_1.xsd b/integration/keycloak-server-subsystem/src/main/resources/schema/wildfly-keycloak-server_1_1.xsd
index 978dc02..a8dd28e 100755
--- a/integration/keycloak-server-subsystem/src/main/resources/schema/wildfly-keycloak-server_1_1.xsd
+++ b/integration/keycloak-server-subsystem/src/main/resources/schema/wildfly-keycloak-server_1_1.xsd
@@ -14,92 +14,25 @@
<xs:annotation>
<xs:documentation>
<![CDATA[
- The Keycloak subsystem, used to register deployments managed by Keycloak
+ The Keycloak server subsystem, used to configure the Keycloak server
]]>
</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="realm" maxOccurs="unbounded" minOccurs="0" type="realm-type"/>
- <xs:element name="secure-deployment" maxOccurs="unbounded" minOccurs="0" type="secure-deployment-type"/>
+ <xs:element name="auth-server" maxOccurs="1" minOccurs="0" type="auth-server-type"/>
</xs:choice>
</xs:complexType>
- <xs:complexType name="realm-type">
+ <xs:complexType name="auth-server-type">
<xs:all>
- <xs:element name="cors-allowed-headers" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="client-keystore-password" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="client-keystore" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="truststore" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="truststore-password" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="enable-cors" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="allow-any-hostname" type="xs:boolean" minOccurs="0" maxOccurs="1" />
- <xs:element name="client-key-password" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="connection-pool-size" type="xs:integer" minOccurs="0" maxOccurs="1"/>
- <xs:element name="cors-max-age" type="xs:integer" minOccurs="0" maxOccurs="1"/>
- <xs:element name="auth-server-url" type="xs:string" minOccurs="1" maxOccurs="1"/>
- <xs:element name="expose-token" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="disable-trust-manager" type="xs:boolean" minOccurs="0" maxOccurs="1" />
- <xs:element name="ssl-required" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="cors-allowed-methods" type="xs:string" minOccurs="1" maxOccurs="1"/>
- <xs:element name="realm-public-key" type="xs:string" minOccurs="1" maxOccurs="1"/>
- <xs:element name="auth-server-url-for-backend-requests" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="always-refresh-token" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="register-node-at-startup" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="register-node-period" type="xs:integer" minOccurs="0" maxOccurs="1"/>
- <xs:element name="token-store" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="principal-attribute" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="web-context" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="enabled" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
</xs:all>
<xs:attribute name="name" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation>The name of the realm.</xs:documentation>
+ <xs:documentation>The name of the war archive containing the Keycloak server web application.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
-
- <xs:complexType name="secure-deployment-type">
- <xs:all>
- <xs:element name="client-keystore-password" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="client-keystore" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="enable-cors" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="allow-any-hostname" type="xs:boolean" minOccurs="0" maxOccurs="1" />
- <xs:element name="use-resource-role-mappings" type="xs:boolean" minOccurs="0" maxOccurs="1" />
- <xs:element name="cors-max-age" type="xs:integer" minOccurs="0" maxOccurs="1"/>
- <xs:element name="auth-server-url" type="xs:string" minOccurs="1" maxOccurs="1"/>
- <xs:element name="realm" type="xs:string" minOccurs="1" maxOccurs="1"/>
- <xs:element name="disable-trust-manager" type="xs:boolean" minOccurs="0" maxOccurs="1" />
- <xs:element name="cors-allowed-methods" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="bearer-only" type="xs:boolean" minOccurs="0" maxOccurs="1" />
- <xs:element name="cors-allowed-headers" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="resource" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="truststore" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="truststore-password" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="client-key-password" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="public-client" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="connection-pool-size" type="xs:integer" minOccurs="0" maxOccurs="1"/>
- <xs:element name="expose-token" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="ssl-required" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:element name="realm-public-key" type="xs:string" minOccurs="1" maxOccurs="1"/>
- <xs:element name="credential" type="credential-type" minOccurs="1" maxOccurs="1"/>
- <xs:element name="auth-server-url-for-backend-requests" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="always-refresh-token" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="register-node-at-startup" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- <xs:element name="register-node-period" type="xs:integer" minOccurs="0" maxOccurs="1"/>
- <xs:element name="token-store" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="principal-attribute" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="enable-basic-auth" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
- </xs:all>
- <xs:attribute name="name" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation>The name of the realm.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="credential-type">
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="name" type="xs:string" />
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
+
</xs:schema>
diff --git a/integration/keycloak-server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/SubsystemParsingTestCase.java b/integration/keycloak-server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/SubsystemParsingTestCase.java
index 86207df..af741a7 100755
--- a/integration/keycloak-server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/SubsystemParsingTestCase.java
+++ b/integration/keycloak-server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/SubsystemParsingTestCase.java
@@ -43,27 +43,19 @@ public class SubsystemParsingTestCase extends AbstractSubsystemBaseTest {
@Test
public void testJson() throws Exception {
ModelNode node = new ModelNode();
- node.get("realm").set("demo");
- node.get("resource").set("customer-portal");
- node.get("realm-public-key").set("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB");
- node.get("auth-url").set("http://localhost:8080/auth-server/rest/realms/demo/protocol/openid-connect/login");
- node.get("code-url").set("http://localhost:8080/auth-server/rest/realms/demo/protocol/openid-connect/access/codes");
- node.get("ssl-required").set("external");
- node.get("expose-token").set(true);
- ModelNode credential = new ModelNode();
- credential.get("password").set("password");
- node.get("credentials").set(credential);
+ node.get("enabled").set(true);
+ node.get("web-context").set("auth");
System.out.println("json=" + node.toJSONString(false));
}
@Override
protected String getSubsystemXml() throws IOException {
- return readResource("keycloak-1.0.xml");
+ return readResource("keycloak-server-1.1.xml");
}
@Override
protected String getSubsystemXsdPath() throws Exception {
- return "schema/wildfly-keycloak_1_0.xsd";
+ return "schema/wildfly-keycloak-server_1_1.xsd";
}
}
diff --git a/integration/keycloak-server-subsystem/src/test/resources/org/keycloak/subsystem/server/extension/keycloak-server-1.1.xml b/integration/keycloak-server-subsystem/src/test/resources/org/keycloak/subsystem/server/extension/keycloak-server-1.1.xml
new file mode 100644
index 0000000..f05f8d1
--- /dev/null
+++ b/integration/keycloak-server-subsystem/src/test/resources/org/keycloak/subsystem/server/extension/keycloak-server-1.1.xml
@@ -0,0 +1,6 @@
+<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
+ <auth-server name="main-auth-server">
+ <enabled>true</enabled>
+ <web-context>auth</web-context>
+ </auth-server>
+</subsystem>
\ No newline at end of file