Ryan,
Which version of Keycloak are you on? I was unable to reproduce the
issue neither on KC 4.0.0 nor on 4.1.0 (tested on a clean install). In
my environment the project builds and deploys OK via dropping to
standalone/deployments, I get no errors, and your authenticator
successfully appears in the GUI.
Dmitry Telegin
CTO, Acutus s.r.o.
Keycloak Consulting and Training
Pod lipami street 339/52, 130 00 Prague 3, Czech Republic
+42 (022) 888-30-71
E-mail: info(a)acutus.pro
On Mon, 2018-07-09 at 11:10 -0400, Ryan Slominski wrote:
Hi Keycloak Users,
I'm attempting to create a custom authenticator by following the
org.keycloak.examples.authenticator secret question example and https
://www.keycloak.org/docs/latest/server_development/index.html#_auth_s
pi documentation. When I drop the jar file into the deployments
directory I get a NoClassDefFoundError. I guess this has something
to do with the JBoss module system. I tried added a jboss-
deployment-structure.xml file with the "org.keycloak.keycloak-
services" module, but now I get a ModuleNotFoundError. Any tips?
Source code for new authenticator:
https://github.com/slominskir/KeycloakAutoLinkAuthenticator
NoClassDefFoundError:
2018-07-09 10:09:34,112 INFO [org.jboss.as.repository]
(DeploymentScanner-threads - 1) WFLYDR0001: Content added at location
/opt/wildfly/keycloak-
3.4.3/standalone/data/content/39/b99d3fa522078162e540b84481c8ff7c1fb3
46/content
2018-07-09 10:09:34,136 INFO [org.jboss.as.server.deployment] (MSC
service thread 1-2) WFLYSRV0027: Starting deployment of
"AutoLinkAuthenticator.jar" (runtime-name:
"AutoLinkAuthenticator.jar")
2018-07-09 10:09:34,213
INFO [org.keycloak.subsystem.server.extension.KeycloakProviderDeploy
mentProcessor] (MSC service thread 1-2) Deploying Keycloak provider:
AutoLinkAuthenticator.jar
2018-07-09 10:09:34,219 WARN [org.jboss.modules] (MSC service thread
1-2) Failed to define class
org.keycloak.extras.authentication.authenticators.broker.AutoLinkAuth
enticator in Module "deployment.AutoLinkAuthenticator.jar" from
Service Module Loader: java.lang.NoClassDefFoundError: Failed to link
org/keycloak/extras/authentication/authenticators/broker/AutoLinkAuth
enticator (Module "deployment.AutoLinkAuthenticator.jar" from Service
Module Loader):
org/keycloak/authentication/authenticators/broker/AbstractIdpAuthenti
cator
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.jav
a:446)
at
org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.
java:274)
at
org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoade
r.java:77)
at org.jboss.modules.Module.loadModuleClass(Module.java:713)
at
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:
190)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(Con
currentClassLoader.java:412)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentCl
assLoader.java:400)
at
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoad
er.java:116)
at
org.keycloak.extras.authentication.authenticators.broker.AutoLinkAuth
enticatorFactory.<clinit>(AutoLinkAuthenticatorFactory.java:14)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at
java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:3
80)
at
java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at
org.keycloak.provider.DefaultProviderLoader.load(DefaultProviderLoade
r.java:47)
at
org.keycloak.provider.ProviderManager.load(ProviderManager.java:93)
at
org.keycloak.services.DefaultKeycloakSessionFactory.loadFactories(Def
aultKeycloakSessionFactory.java:213)
at
org.keycloak.services.DefaultKeycloakSessionFactory.deploy(DefaultKey
cloakSessionFactory.java:114)
at
org.keycloak.provider.ProviderManagerRegistry.deploy(ProviderManagerR
egistry.java:42)
at
org.keycloak.subsystem.server.extension.KeycloakProviderDeploymentPro
cessor.deploy(KeycloakProviderDeploymentProcessor.java:54)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(Deplo
ymentUnitPhaseService.java:165)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(Se
rviceControllerImpl.java:2032)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceCont
rollerImpl.java:1955)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:624)
at java.lang.Thread.run(Thread.java:748)
ModuleNotFoundError:
2018-07-09 10:40:55,135 ERROR [org.jboss.msc.service.fail] (MSC
service thread 1-4) MSC000001: Failed to start service
jboss.module.service."deployment.AutoLinkAuthenticator.jar".main:
org.jboss.msc.service.StartException in service
jboss.module.service."deployment.AutoLinkAuthenticator.jar".main:
WFLYSRV0179: Failed to load module:
deployment.AutoLinkAuthenticator.jar
at
org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadS
ervice.java:91)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(Se
rviceControllerImpl.java:2032)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceCont
rollerImpl.java:1955)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.jboss.modules.ModuleNotFoundException: keycloak-
services
at org.jboss.modules.Module.addPaths(Module.java:1217)
at org.jboss.modules.Module.link(Module.java:1573)
at
org.jboss.modules.Module.relinkIfNecessary(Module.java:1601)
at
org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:287)
at
org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:271)
at
org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadS
ervice.java:68)
... 5 more
Thanks,
Ryan
_______________________________________________
keycloak-user mailing list
keycloak-user(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user