keycloak-uncached
Changes
distribution/osgi/core-adapter/pom.xml 102(+102 -0)
distribution/osgi/features/pom.xml 62(+62 -0)
distribution/osgi/jaas/pom.xml 68(+68 -0)
distribution/osgi/pom.xml 23(+23 -0)
distribution/pom.xml 1(+1 -0)
pom.xml 15(+15 -0)
Details
distribution/osgi/core-adapter/pom.xml 102(+102 -0)
diff --git a/distribution/osgi/core-adapter/pom.xml b/distribution/osgi/core-adapter/pom.xml
new file mode 100644
index 0000000..bd78063
--- /dev/null
+++ b/distribution/osgi/core-adapter/pom.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>keycloak-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.1.0.Beta2-SNAPSHOT</version>
+ <relativePath>../../../pom.xml</relativePath>
+ </parent>
+ <name>Keycloak OSGI Core Adapter Integration</name>
+ <description/>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>keycloak-osgi-core-adapter</artifactId>
+ <packaging>bundle</packaging>
+
+ <properties>
+ <keycloak.osgi.export>
+ org.keycloak.adapters.jaas,
+ org.keycloak.adapters
+ </keycloak.osgi.export>
+ <keycloak.osgi.import>
+ *;resolution:=optional
+ </keycloak.osgi.import>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-adapter-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>${keycloak.apache.httpcomponents.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.iharder</groupId>
+ <artifactId>base64</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcprov-jdk16</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-core-asl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-mapper-asl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-xc</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <instructions>
+ <Embed-Dependency>*;scope=compile|runtime;artifactId=!keycloak-adapter-core</Embed-Dependency>
+ <Embed-Transitive>true</Embed-Transitive>
+ <Bundle-ClassPath>.</Bundle-ClassPath>
+ <Bundle-Name>${project.description}</Bundle-Name>
+ <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
+ <Import-Package>${keycloak.osgi.import}</Import-Package>
+ <Export-Package>${keycloak.osgi.export}</Export-Package>
+ <Implementation-Title>keycloak</Implementation-Title>
+ <Implementation-Version>${project.version}</Implementation-Version>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
distribution/osgi/features/pom.xml 62(+62 -0)
diff --git a/distribution/osgi/features/pom.xml b/distribution/osgi/features/pom.xml
new file mode 100644
index 0000000..9a3fa3a
--- /dev/null
+++ b/distribution/osgi/features/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>keycloak-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.1.0.Beta2-SNAPSHOT</version>
+ <relativePath>../../../pom.xml</relativePath>
+ </parent>
+ <name>Keycloak OSGI Features</name>
+ <description/>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>keycloak-osgi-features</artifactId>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>filter</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>resources</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-artifacts</id>
+ <phase>package</phase>
+ <goals>
+ <goal>attach-artifact</goal>
+ </goals>
+ <configuration>
+ <artifacts>
+ <artifact>
+ <file>target/classes/features.xml</file>
+ <type>xml</type>
+ <classifier>features</classifier>
+ </artifact>
+ </artifacts>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/distribution/osgi/features/src/main/resources/features.xml b/distribution/osgi/features/src/main/resources/features.xml
new file mode 100644
index 0000000..f72ac8d
--- /dev/null
+++ b/distribution/osgi/features/src/main/resources/features.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="keycloak-${project.version}">
+
+ <feature name="keycloak-core-adapter" version="${project.version}" resolver="(obr)">
+ <details>The keycloak core adapter stuff</details>
+ <bundle>mvn:org.keycloak/keycloak-osgi-core-adapter/${project.version}</bundle>
+ </feature>
+
+ <feature name="keycloak-jaas" version="${project.version}" resolver="(obr)">
+ <details>The keycloak JAAS configuration</details>
+ <feature>keycloak-core-adapter</feature>
+ <bundle>mvn:org.keycloak/keycloak-osgi-jaas/${project.version}</bundle>
+ </feature>
+
+</features>
\ No newline at end of file
distribution/osgi/jaas/pom.xml 68(+68 -0)
diff --git a/distribution/osgi/jaas/pom.xml b/distribution/osgi/jaas/pom.xml
new file mode 100644
index 0000000..aa553cf
--- /dev/null
+++ b/distribution/osgi/jaas/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>keycloak-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.1.0.Beta2-SNAPSHOT</version>
+ <relativePath>../../../pom.xml</relativePath>
+ </parent>
+ <name>Keycloak OSGI JAAS</name>
+ <description/>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>keycloak-osgi-jaas</artifactId>
+ <packaging>bundle</packaging>
+
+ <properties>
+ <keycloak.osgi.export>
+ </keycloak.osgi.export>
+ <keycloak.osgi.import>
+ org.apache.karaf.jaas.config,
+ org.keycloak.adapters.jaas;version=${project.version},
+ *;resolution:=optional
+ </keycloak.osgi.import>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-osgi-core-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <instructions>
+ <!--<Embed-Directory>lib</Embed-Directory>
+ <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
+ <Embed-Transitive>false</Embed-Transitive>
+ <Bundle-ClassPath>.</Bundle-ClassPath> -->
+ <Bundle-Name>${project.description}</Bundle-Name>
+ <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
+ <Import-Package>${keycloak.osgi.import}</Import-Package>
+ <Export-Package>${keycloak.osgi.export}</Export-Package>
+ <Implementation-Title>keycloak</Implementation-Title>
+ <Implementation-Version>${project.version}</Implementation-Version>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/distribution/osgi/jaas/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/distribution/osgi/jaas/src/main/resources/OSGI-INF/blueprint/blueprint.xml
new file mode 100644
index 0000000..793c6dd
--- /dev/null
+++ b/distribution/osgi/jaas/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:jaas="http://karaf.apache.org/xmlns/jaas/v1.0.0"
+ xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
+ xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.2.0">
+
+ <!-- Bean to allow the $[karaf.base] property to be correctly resolved -->
+ <ext:property-placeholder placeholder-prefix="$[" placeholder-suffix="]"/>
+
+ <cm:property-placeholder persistent-id="org.keycloak" update-strategy="reload">
+ <cm:default-properties>
+ <cm:property name="jaasBearerKeycloakConfigFile" value="$[karaf.base]/etc/keycloak-hawtio.json"/>
+ <cm:property name="jaasDirectAccessKeycloakConfigFile" value="$[karaf.base]/etc/keycloak-direct-access.json"/>
+ </cm:default-properties>
+ </cm:property-placeholder>
+
+ <jaas:config name="keycloak" rank="1">
+
+ <!-- Used for web authentication (like hawtio) -->
+ <jaas:module className="org.keycloak.adapters.jaas.BearerTokenLoginModule"
+ flags="sufficient">
+ keycloak-config-file = ${jaasBearerKeycloakConfigFile}
+ </jaas:module>
+
+ <!-- Used for direct username/password authentication for non-web scenarios (like ssh) -->
+ <jaas:module className="org.keycloak.adapters.jaas.DirectAccessGrantsLoginModule"
+ flags="sufficient">
+ keycloak-config-file = ${jaasDirectAccessKeycloakConfigFile}
+ </jaas:module>
+
+ </jaas:config>
+
+</blueprint>
\ No newline at end of file
distribution/osgi/pom.xml 23(+23 -0)
diff --git a/distribution/osgi/pom.xml b/distribution/osgi/pom.xml
new file mode 100644
index 0000000..c0edffd
--- /dev/null
+++ b/distribution/osgi/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>keycloak-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.1.0.Beta2-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <name>Keycloak OSGI Integration</name>
+ <description/>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>keycloak-osgi-pom</artifactId>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>features</module>
+ <module>jaas</module>
+ <module>core-adapter</module>
+ </modules>
+
+</project>
\ No newline at end of file
distribution/pom.xml 1(+1 -0)
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 0ca3283..2b1a739 100755
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -39,6 +39,7 @@
<module>theme-template-zip</module>
<module>war-zip</module>
<module>war-dist</module>
+ <module>osgi</module>
<module>proxy</module>
<module>appliance-dist</module>
<module>src-dist</module>
pom.xml 15(+15 -0)
diff --git a/pom.xml b/pom.xml
index 8c737d5..798ef8c 100755
--- a/pom.xml
+++ b/pom.xml
@@ -723,6 +723,21 @@
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.3</version>
</plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.3.7</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.7</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ </plugin>
</plugins>
</pluginManagement>