instipod / DuoUniversalKeycloakAuthenticator

Keycloak Authenticator for Duo's new Universal Prompt
GNU General Public License v3.0
50 stars 15 forks source link

maven build example in README.md is not working #30

Closed nix-power closed 4 months ago

nix-power commented 4 months ago
[INFO] Changes detected - recompiling the module! :source
[INFO] Compiling 4 source files with javac [debug target 17] to target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  54.159 s
[INFO] Finished at: 2024-04-25T20:37:22Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project DuoUniversalKeycloakAuthenticator: Fatal error compiling: error: invalid target release: 17 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
make: *** [build-duo] Error 1

Building process of keycloak container failed: Command '['make', 'release']' returned non-zero exit status 2.

need to put conainer name/tag that uses java17+ for instance

3.9.6-eclipse-temurin-17-alpine

Using the following container build has finished succesfully

Downloaded from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.5-2/zstd-jni-1.5.5-2.jar (5.9 MB at 5.2 MB/s)
[INFO] Building jar: /mvn_project/target/DuoUniversalKeycloakAuthenticator-1.0.10_22.0.4-jar-with-dependencies.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:30 min
[INFO] Finished at: 2024-04-25T20:42:18Z
[INFO] ------------------------------------------------------------------------
duo/target/DuoUniversalKeycloakAuthenticator-1.0.10_22.0.4-jar-with-dependencies.jar -> image/jar/DuoUniversalKeycloakAuthenticator-1.0.10_22.0.4-jar-with-dependencies.jar
Done building Duo JAR
nix-power commented 4 months ago

Also pom.xml in source code points to Java 17 version and not 18

<build>
        <finalName>DuoUniversalKeycloakAuthenticator-${project.version}_${keycloak.version}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.11.0</version>
                <configuration>
                    <source>17</source>
                    <target>17</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
nix-power commented 4 months ago

Replacing "17" with "18" in pom.xml causing error in adding extension to keycloak server. It has been tested with Keycloak 22.x, 23.x and 24.x versions

33.74 2024-04-30 04:14:40,350 TRACE [org.jboss.threads] (build-8) Thread "Thread[build-8,5,]" exiting
33.74
33.81 ERROR: Failed to run 'build' command.
33.81 ERROR: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
33.81   [error]: Build step org.keycloak.quarkus.deployment.KeycloakProcessor#configureKeycloakSessionFactory threw an exception: java.lang.UnsupportedClassVersionError: com/instipod/duouniversal/getshim/GetShimProviderFactory has been compiled by a more recent version of the Java Runtime (class file version 62.0), this version of the Java Runtime only recognizes class file versions up to 61.0
33.81   at java.base/java.lang.ClassLoader.defineClass1(Native Method)
33.81   at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
33.81   at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:508)
33.81   at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:468)
33.81   at java.base/java.lang.Class.forName0(Native Method)
33.81   at java.base/java.lang.Class.forName(Class.java:467)
33.81   at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1217)
33.81   at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
33.81   at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
33.81   at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
33.81   at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
33.81   at org.keycloak.provider.DefaultProviderLoader.load(DefaultProviderLoader.java:60)
33.81   at org.keycloak.provider.ProviderManager.load(ProviderManager.java:93)
33.81   at org.keycloak.quarkus.deployment.KeycloakProcessor.loadFactories(KeycloakProcessor.java:690)
33.81   at org.keycloak.quarkus.deployment.KeycloakProcessor.configureKeycloakSessionFactory(KeycloakProcessor.java:398)
33.81   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
33.81   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
33.81   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
33.81   at java.base/java.lang.reflect.Method.invoke(Method.java:568)
33.81   at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
33.81   at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
33.81   at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
33.81   at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
33.81   at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
33.81   at java.base/java.lang.Thread.run(Thread.java:840)
33.81   at org.jboss.threads.JBossThread.run(JBossThread.java:501)
33.81
33.81 ERROR: Build failure: Build failed due to errors
33.81   [error]: Build step org.keycloak.quarkus.deployment.KeycloakProcessor#configureKeycloakSessionFactory threw an exception: java.lang.UnsupportedClassVersionError: com/instipod/duouniversal/getshim/GetShimProviderFactory has been compiled by a more recent version of the Java Runtime (class file version 62.0), this version of the Java Runtime only recognizes class file versions up to 61.0
33.81   at java.base/java.lang.ClassLoader.defineClass1(Native Method)
33.81   at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
33.81   at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:508)
33.81   at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:468)
33.81   at java.base/java.lang.Class.forName0(Native Method)
33.81   at java.base/java.lang.Class.forName(Class.java:467)
33.81   at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1217)
33.81   at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
33.81   at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
33.81   at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
33.81   at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
33.81   at org.keycloak.provider.DefaultProviderLoader.load(DefaultProviderLoader.java:60)
33.81   at org.keycloak.provider.ProviderManager.load(ProviderManager.java:93)
33.81   at org.keycloak.quarkus.deployment.KeycloakProcessor.loadFactories(KeycloakProcessor.java:690)
33.81   at org.keycloak.quarkus.deployment.KeycloakProcessor.configureKeycloakSessionFactory(KeycloakProcessor.java:398)
33.81   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
33.81   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
33.81   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
33.81   at java.base/java.lang.reflect.Method.invoke(Method.java:568)
33.81   at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
33.81   at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
33.81   at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
33.81   at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
33.81   at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
33.81   at java.base/java.lang.Thread.run(Thread.java:840)
33.81   at org.jboss.threads.JBossThread.run(JBossThread.java:501)
33.81
33.81 ERROR: com/instipod/duouniversal/getshim/GetShimProviderFactory has been compiled by a more recent version of the Java Runtime (class file version 62.0), this version of the Java Runtime only recognizes class file versions up to 61.0
33.81 For more details run the same command passing the '--verbose' option. Also you can use '--help' to see the details about the usage of the particular command.
------
Dockerfile:11
--------------------
  11 | >>> RUN bin/kc.sh build
  12 |
  13 |     FROM bitnami/keycloak:24.0.3
--------------------
ERROR: failed to solve: process "/bin/bash -o errexit -o nounset -o pipefail -c bin/kc.sh build" did not complete successfully: exit code: 1

View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/kr6n64lbbnyzjvbdhtfkblevk
make: *** [build] Error 1
Cleaning up...