<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 27, 2014 at 8:21 AM, Stian Thorgersen <span dir="ltr">&lt;<a href="mailto:stian@redhat.com" target="_blank">stian@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
----- Original Message -----<br>
&gt; From: &quot;Bill Burke&quot; &lt;<a href="mailto:bburke@redhat.com">bburke@redhat.com</a>&gt;<br>
</span><span class="">&gt; To: &quot;Stian Thorgersen&quot; &lt;<a href="mailto:stian@redhat.com">stian@redhat.com</a>&gt;<br>
&gt; Cc: <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; Sent: Friday, 24 October, 2014 4:09:57 PM<br>
&gt; Subject: Re: [keycloak-dev] Keycloak 1.0.3 branch problem<br>
&gt;<br>
</span><span class="">&gt; What you&#39;re describing isn&#39;t CSRF, it is an injection attack.  So CSRF<br>
&gt; doesn&#39;t apply.<br>
<br>
</span>Yep, I know. It was a moment of brain malfunctioning!<br>
<span class=""><br>
&gt;<br>
&gt; In 1.1 you can&#39;t post directly to processLogin or processRegister as you<br>
&gt; have to have a client session set up and the client session&#39;s state must<br>
&gt; be AUTHENTICATE<br>
<br>
</span>I&#39;ll remove it - as you say it&#39;s being added in 1.1 in any case, and 1.0.x shouldn&#39;t change how things functions any ways.<br></blockquote><div><br></div><div>Hi all,</div><div><br></div><div>I tested the &#39;new&#39; 1.0.x branch -&gt; works all fine now</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On 10/24/2014 9:47 AM, Stian Thorgersen wrote:<br>
&gt; &gt; Not sure TBH<br>
&gt; &gt;<br>
&gt; &gt; I was thinking that someone could post from an external page and inject a<br>
&gt; &gt; JS script to capture the username/password. Basically post an invalid<br>
&gt; &gt; username (&lt;script&gt;...&lt;/script&gt;) where the script also removes the invalid<br>
&gt; &gt; user/password warning. Then when the user enters username/password the<br>
&gt; &gt; script could capture the username/password and send it somewhere.<br>
&gt; &gt;<br>
&gt; &gt; But, then once I&#39;d done that I realised that we should escape any html<br>
&gt; &gt; entered in input fields any ways so I fixed that, which kinda made the<br>
&gt; &gt; other fix pointless.<br>
&gt; &gt;<br>
&gt; &gt; I reckon I&#39;ll remove it! Unless for some reason we want to prevent folks<br>
&gt; &gt; from posting directly to login/registration endpoints?<br>
&gt; &gt;<br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt;&gt; From: &quot;Bill Burke&quot; &lt;<a href="mailto:bburke@redhat.com">bburke@redhat.com</a>&gt;<br>
&gt; &gt;&gt; To: <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt;&gt; Sent: Friday, 24 October, 2014 2:41:05 PM<br>
&gt; &gt;&gt; Subject: Re: [keycloak-dev] Keycloak 1.0.3 branch problem<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Why is there a CSRF check in processLogin?  The user isn&#39;t even logged<br>
&gt; &gt;&gt; in yet and no credentials have been processed.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On 10/24/2014 6:54 AM, Matthias Wessendorf wrote:<br>
&gt; &gt;&gt;&gt; Hi,<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; I tried picking up KC 1.0.3.Final on our 1.0.x branch:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; * deployment of both WARs went fine<br>
&gt; &gt;&gt;&gt; * accessing the `<a href="http://localhost:8080/ag-push`" target="_blank">http://localhost:8080/ag-push`</a>  offers me the initial<br>
&gt; &gt;&gt;&gt; login for admin:123<br>
&gt; &gt;&gt;&gt; * clicking login did _NOT_ redirect me to the form where I am supposed to<br>
&gt; &gt;&gt;&gt; update the default password.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; On WildFly, I got a blank page and this stack-trace:<br>
&gt; &gt;&gt;&gt; ```<br>
&gt; &gt;&gt;&gt; 12:47:35,859 WARN  [org.jboss.resteasy.core.ExceptionHandler] (default<br>
&gt; &gt;&gt;&gt; task-10) Failed executing POST<br>
&gt; &gt;&gt;&gt; /realms/aerogear/tokens/auth/request/login:<br>
&gt; &gt;&gt;&gt; org.keycloak.services.ForbiddenException<br>
&gt; &gt;&gt;&gt;   at org.keycloak.services.util.CsrfHelper.csrfCheck(CsrfHelper.java:39)<br>
&gt; &gt;&gt;&gt;   [keycloak-services-1.0.3.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.keycloak.services.resources.TokenService.processLogin(TokenService.java:479)<br>
&gt; &gt;&gt;&gt;   [keycloak-services-1.0.3.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
&gt; &gt;&gt;&gt;   [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
&gt; &gt;&gt;&gt;   [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
&gt; &gt;&gt;&gt;   [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:296)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:250)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:140)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:103)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-3.0.8.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)<br>
&gt; &gt;&gt;&gt;   [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.keycloak.services.filters.ClientConnectionFilter.doFilter(ClientConnectionFilter.java:41)<br>
&gt; &gt;&gt;&gt;   [keycloak-services-1.0.3.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(KeycloakSessionServletFilter.java:40)<br>
&gt; &gt;&gt;&gt;   [keycloak-services-1.0.3.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)<br>
&gt; &gt;&gt;&gt;   [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)<br>
&gt; &gt;&gt;&gt;   [undertow-core-1.0.15.Final.jar:1.0.15.Final]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br>
&gt; &gt;&gt;&gt;   [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br>
&gt; &gt;&gt;&gt;   [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt; ```<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; On EAP 6.3. I got a 403, with this stack-trace:<br>
&gt; &gt;&gt;&gt; ```<br>
&gt; &gt;&gt;&gt; 12:50:06,377 WARN  [org.jboss.resteasy.core.SynchronousDispatcher]<br>
&gt; &gt;&gt;&gt; (http-/0.0.0.0:8080-3) Failed executing POST<br>
&gt; &gt;&gt;&gt; /realms/aerogear/tokens/auth/request/login:<br>
&gt; &gt;&gt;&gt; org.keycloak.services.ForbiddenException<br>
&gt; &gt;&gt;&gt;   at org.keycloak.services.util.CsrfHelper.csrfCheck(CsrfHelper.java:39)<br>
&gt; &gt;&gt;&gt;   [keycloak-services-1.0.3.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.keycloak.services.resources.TokenService.processLogin(TokenService.java:479)<br>
&gt; &gt;&gt;&gt;   [keycloak-services-1.0.3.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
&gt; &gt;&gt;&gt;   [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
&gt; &gt;&gt;&gt;   [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
&gt; &gt;&gt;&gt;   [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:159)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:92)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)<br>
&gt; &gt;&gt;&gt;   [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:]<br>
&gt; &gt;&gt;&gt;   at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)<br>
&gt; &gt;&gt;&gt;   [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.keycloak.services.filters.ClientConnectionFilter.doFilter(ClientConnectionFilter.java:41)<br>
&gt; &gt;&gt;&gt;   [keycloak-services-1.0.3.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(KeycloakSessionServletFilter.java:40)<br>
&gt; &gt;&gt;&gt;   [keycloak-services-1.0.3.Final.jar:]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)<br>
&gt; &gt;&gt;&gt;   [jboss-as-jpa-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)<br>
&gt; &gt;&gt;&gt;   [jboss-as-jpa-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)<br>
&gt; &gt;&gt;&gt;   [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at<br>
&gt; &gt;&gt;&gt;   org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)<br>
&gt; &gt;&gt;&gt;   [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]<br>
&gt; &gt;&gt;&gt;   at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]<br>
&gt; &gt;&gt;&gt; ```<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; --<br>
&gt; &gt;&gt;&gt; Matthias Wessendorf<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt; &gt;&gt;&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt; &gt;&gt;&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt; keycloak-dev mailing list<br>
&gt; &gt;&gt;&gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; --<br>
&gt; &gt;&gt; Bill Burke<br>
&gt; &gt;&gt; JBoss, a division of Red Hat<br>
&gt; &gt;&gt; <a href="http://bill.burkecentral.com" target="_blank">http://bill.burkecentral.com</a><br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; keycloak-dev mailing list<br>
&gt; &gt;&gt; <a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt; &gt;&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Bill Burke<br>
&gt; JBoss, a division of Red Hat<br>
&gt; <a href="http://bill.burkecentral.com" target="_blank">http://bill.burkecentral.com</a><br>
&gt;<br>
_______________________________________________<br>
keycloak-dev mailing list<br>
<a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Matthias Wessendorf <br><br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
</div></div>