[keycloak-user] How to include the keycloak wildfly adapter libraries in the secure war application classpath?

Darrell Wu darrell at 1placeonline.com
Wed May 25 01:43:22 EDT 2016


It doesn't seem to work for me.  It looks like it looking in the wrong
place,   If i copy the keycloak libraries to
modules\system\layers\base\org\keycloak directory then it works.  Also my
WAR is within an EAR archive


On 25 May 2016 at 17:05, Stian Thorgersen <sthorger at redhat.com> wrote:

> The dependencies should be automatically injected into your WAR if it's
> either secured in standalone.xml or if the auth-method is set to KEYCLOAK.
>
> On 21 May 2016 at 05:15, Darrell Wu <darrell at 1placeonline.com> wrote:
>
>> I'm not using the saml client adapters, i'm using the jboss/wildfly
>> adapter
>> as mention here
>>
>> http://keycloak.github.io/docs/userguide/keycloak-server/html/ch08.html#jboss-adapter
>>
>> I have the following in my wildfly 10 standalone.xml file
>> under entensions
>>
>>  <extension module="org.keycloak.keycloak-adapter-subsystem"/>
>>
>> under security subsystem
>> <security-domain name="keycloak">
>>                     <authentication>
>>                         <login-module
>> code="org.keycloak.adapters.jboss.KeycloakLoginModule" flag="required"/>
>>                     </authentication>
>>                 </security-domain>
>>
>> under the keycloak subsystem i have secure my application
>>
>> <secure-deployment name="reporting-server-rest.war">
>>                 <realm>1Place</realm>
>>                 <resource>1Place-reporting</resource>
>>                 <realm-public-key>xxxxxxxxKey
>> removedxxxxxxxxxxx</realm-public-key>
>>                 <auth-server-url>http://localhost:8180/</auth-server-url>
>>                 <ssl-required>EXTERNAL</ssl-required>
>>                 <credential name="secret">xxxxxxxxKey
>> removedxxxxxxxxxxx</credential>
>>             </secure-deployment>
>>
>> The reporting-server-rest.war is in an EAR archive with an ejb jar.  The
>> code with the exception is a stateless session bean(OperatorService ) in
>> the ejb jar.
>> It is called by a produces method
>>
>>
>> public class CurrentUserProducer {
>>
>>
>>     @Inject
>>     OperatorService operatorService;
>>
>>     @LoggedInUser
>>     @Produces
>>     public CurrentUser produceCurrentUser() {
>>         return operatorService.getCurrentUser();
>>     }
>> }
>>
>>
>>
>> The OperatorService  stateless session bean  getCurrentUser method looks
>> like the following.  The exception is occurring on the first line
>>   @Inject
>>     private HttpServletRequest httpRequest;
>>
>> public CurrentUser getCurrentUser(){
>>   KeycloakSecurityContext securityContext = (KeycloakSecurityContext)
>> httpRequest.getAttribute(KeycloakSecurityContext.class.getName());
>>
>>
>> a filter in the reporting-server-rest.war archive is injecting the
>> CurrentUser like so
>>
>> @WebFilter(dispatcherTypes = {DispatcherType.REQUEST,
>> DispatcherType.FORWARD}, urlPatterns = {"/*"})
>> public class CurrentUserFilter implements Filter {
>>
>>     @Inject @LoggedInUser
>>     private CurrentUser currentUser;
>>
>>
>>
>> I'm getting the following exception in the log
>>
>> 14:26:38,444 ERROR [io.undertow.request] (default task-10) UT005023:
>> Exception handling request to
>> /reporting-server-rest/widgets/checklistQuestion:
>> javax.servlet.ServletException: UT010013: Could not instantiate com.one
>> placeonline.rest.CurrentUserFilter
>>     at
>> io.undertow.servlet.core.ManagedFilter.createFilter(ManagedFilter.java:76)
>>     at
>> io.undertow.servlet.core.ManagedFilter.getFilter(ManagedFilter.java:65)
>>     at
>> io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
>>     at
>> io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
>>     at
>> io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
>>     at
>> io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
>>     at
>> io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
>>     at
>> org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
>>     at
>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>     at
>> org.keycloak.adapters.undertow.UndertowAuthenticatedActionsHandler.handleRequest(UndertowAuthenticatedActionsHandler.java:66)
>>     at
>> io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
>>     at
>> io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
>>     at
>> io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
>>     at
>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>     at
>> io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
>>     at
>> io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
>>     at
>> io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
>>     at
>> io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
>>     at
>> io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
>>     at
>> io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
>>     at
>> io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
>>     at
>> io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
>>     at
>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>     at
>> org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
>>     at
>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>     at
>> org.keycloak.adapters.undertow.ServletPreAuthActionsHandler.handleRequest(ServletPreAuthActionsHandler.java:69)
>>     at
>> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>>     at
>> io.undertow.servlet.handlers.ServletInitialHandler.jrHandle(ServletInitialHandler.java)
>>     at
>> org.zeroturnaround.javarebel.integration.servlet.undertow.cbp.ServletInitialHandlerCBP.handleRequest(ServletInitialHandlerCBP.java:100)
>>     at
>> io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
>>     at
>> io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
>>     at
>> io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
>>     at
>> io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
>>     at
>> io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
>>     at
>> io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
>>     at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>     at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.IllegalStateException: WFLYEE0042: Failed to
>> construct component instance
>>     at
>> org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:163)
>>     at
>> org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:134)
>>     at
>> org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:88)
>>     at
>> org.jboss.as.ee.component.ComponentRegistry$ComponentManagedReferenceFactory.getReference(ComponentRegistry.java:149)
>>     at
>> org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$6.createInstance(UndertowDeploymentInfoService.java:1366)
>>     at
>> io.undertow.servlet.core.ManagedFilter.createFilter(ManagedFilter.java:74)
>>     ... 37 more
>> Caused by: javax.ejb.EJBException: WFLYEJB0442: Unexpected Error
>>     at
>> org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:184)
>>     at
>> org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)
>>     at
>> org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)
>>     at
>> org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
>>     at
>> org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)
>>     at
>> org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
>>     at
>> org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
>>     at
>> org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:195)
>>     at
>> org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
>>     at
>> org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)
>>     at
>> com.oneplaceonline.business.users.boundary.OperatorService$$$view14.getCurrentUser(Unknown
>> Source)
>>     at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:497)
>>     at
>> org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:436)
>>     at
>> org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:127)
>>     at
>> org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
>>     at
>> org.jboss.weld.bean.proxy.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:67)
>>     at
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
>>     at
>> com.oneplaceonline.business.users.boundary.OperatorService$Proxy$_$$_Weld$EnterpriseProxy$.getCurrentUser(Unknown
>> Source)
>>     at
>> com.oneplaceonline.business.users.boundary.CurrentUserProducer.produceCurrentUser(CurrentUserProducer.java:17)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:497)
>>     at
>> org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
>>     at
>> org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:78)
>>     at
>> org.jboss.weld.injection.producer.ProducerMethodProducer.produce(ProducerMethodProducer.java:99)
>>     at
>> org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:161)
>>     at
>> org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:181)
>>     at
>> org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:70)
>>     at
>> org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)
>>     at
>> org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:742)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:842)
>>     at
>> org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)
>>     at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:378)
>>     at
>> org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:389)
>>     at
>> org.jboss.weld.injection.producer.DefaultInjector$1.proceed(DefaultInjector.java:71)
>>     at
>> org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)
>>     at
>> org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:73)
>>     at
>> org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:121)
>>     at
>> org.jboss.as.weld.injection.WeldInjectionContext.inject(WeldInjectionContext.java:39)
>>     at
>> org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:51)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.weld.injection.WeldInterceptorInjectionInterceptor.processInvocation(WeldInterceptorInjectionInterceptor.java:56)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.weld.injection.WeldInjectionContextInterceptor.processInvocation(WeldInjectionContextInterceptor.java:43)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
>>     at
>> org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
>>     at
>> org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
>>     ... 42 more
>> Caused by: java.lang.NoClassDefFoundError:
>> org/keycloak/KeycloakSecurityContext
>>     at
>> com.oneplaceonline.business.users.boundary.OperatorService.getCurrentUser(OperatorService.java:81)
>>     at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:497)
>>     at
>> org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
>>     at
>> org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)
>>     at
>> org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)
>>     at
>> org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
>>     at
>> org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)
>>     at
>> org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
>>     at
>> org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
>>     at
>> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
>>     at
>> org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
>>     ... 124 more
>>
>> Does it have anything to do with the change in 1.9.0
>>
>> http://keycloak.github.io/docs/userguide/keycloak-server/html/Migration_from_older_versions.html#d4e4103
>>  under
>> 35.6.3. Migrating to 1.9.0Adapter Subsystems only bring in dependencies
>> if keycloak is on
>>
>> Previously, if you had installed our saml or oidc keycloak subsystem
>> adapters into Wildfly or JBoss EAP, we would automatically include Keycloak
>> client jars into EVERY application irregardless if you were using Keycloak
>> or not. These libraries are now only added to your deployment if you have
>> keycloak authentication turned on for that adapter (via the subsystem, or
>> auth-method in web.xml
>>
>> Mind you i'm not using saml or oidc adapter
>>
>>
>>
>> On 21 May 2016 at 00:51, Bruno Oliveira <bruno at abstractj.org> wrote:
>>
>>> Do you have the security domain specified like described here:
>>>
>>> http://keycloak.github.io/docs/userguide/saml-client-adapter/html/jboss-adapter.html
>>>
>>> If possible send some steps to reproduce or the code snippet.
>>>
>>>
>>> On 2016-05-20, Darrell Wu wrote:
>>> > If it helps I'm using wildfly 10 and have keycloak on a standalone
>>> server.
>>> > The authenication works. It just when my app tries to read the security
>>> > context I get the class not found exception.
>>> >
>>> > So what triggers wildfly to include the keycloak modules in my apps
>>> class
>>> > path?
>>> > On 20/05/2016 10:10 pm, "Bruno Oliveira" <bruno at abstractj.org> wrote:
>>> >
>>> > > Weird because it was fixed here:
>>> > > https://issues.jboss.org/browse/KEYCLOAK-2483. Plus, I tested
>>> > > on WildFly 9.0.2.Final with Keycloak adapter 1.9.4.Final and couldn't
>>> > > reproduce the issue.
>>> > >
>>> > > On 2016-05-20, Darrell Wu wrote:
>>> > > > Hi,
>>> > > >
>>> > > > With the keycloak wildfly adapter for version 1.9.x i've noticed
>>> that the
>>> > > > location of the Keycloak Subsystem modules have changed from
>>> > > > modules\system\layers\base\org\keycloak to
>>> > > > modules\system\add-ons\keycloak\org\keycloak
>>> > > >
>>> > > > Now on my secure war application server I've installed the keycloak
>>> > > wildfly
>>> > > > adpater by unzipping the archive and running the
>>> adapter-install.cl
>>> > > script.
>>> > > >
>>> > > > Now In my application i'm getting a
>>> > > > ClassNotFoundException: org.keycloak.KeycloakSecurityContext
>>> > > >
>>> > > > when the following is executed
>>> > > >
>>> > > > KeycloakSecurityContext securityContext = (KeycloakSecurityContext)
>>> > > > httpRequest.getAttribute(KeycloakSecurityContext.class.getName());
>>> > > >
>>> > > > Obviously the application isn't loading the keycloak modules in the
>>> > > > classpath.
>>> > > > What is the proper way to include the keycloak libraries in my app?
>>> > > >
>>> > > > Should my app have a jboss-deployment-structure.xml file   or
>>> should the
>>> > > > libraries be moved back to modules\system\layers\base\org\keycloak?
>>> > > >
>>> > > > Thanks
>>> > > >
>>> > > >
>>> > > >
>>> > > > --
>>> > > > Darrell Wu
>>> > > > 1Place Limited
>>> > > > P.O. Box 125152, St Heliers, Auckland 1740, New Zealand
>>> > > > Level 4, 1 Queen Street, Auckland 1010, New Zealand
>>> > > > Phone: +64 9 5200612 ext 521 | Mob: +64 21 262 4898 | Fax: +64 9
>>> 5246203
>>> > > > Email: darrell at 1placeonline.com | Web: www.1placeonline.com
>>> > >
>>> > > > _______________________________________________
>>> > > > keycloak-user mailing list
>>> > > > keycloak-user at lists.jboss.org
>>> > > > https://lists.jboss.org/mailman/listinfo/keycloak-user
>>> > >
>>> > >
>>> > > --
>>> > >
>>> > > abstractj
>>> > > PGP: 0x84DC9914
>>> > >
>>>
>>> --
>>>
>>> abstractj
>>> PGP: 0x84DC9914
>>>
>>
>>
>>
>> --
>> Darrell Wu
>> 1Place Limited
>> P.O. Box 125152, St Heliers, Auckland 1740, New Zealand
>> Level 4, 1 Queen Street, Auckland 1010, New Zealand
>> Phone: +64 9 5200612 ext 521 | Mob: +64 21 262 4898 | Fax: +64 9 5246203
>> Email: darrell at 1placeonline.com | Web: www.1placeonline.com
>>
>> _______________________________________________
>> keycloak-user mailing list
>> keycloak-user at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/keycloak-user
>>
>
>


-- 
Darrell Wu
1Place Limited
P.O. Box 125152, St Heliers, Auckland 1740, New Zealand
Level 4, 1 Queen Street, Auckland 1010, New Zealand
Phone: +64 9 5200612 ext 521 | Mob: +64 21 262 4898 | Fax: +64 9 5246203
Email: darrell at 1placeonline.com | Web: www.1placeonline.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-user/attachments/20160525/5faa24b4/attachment-0001.html 


More information about the keycloak-user mailing list