<div dir="ltr">Following your instruction he application startup is fine.<div>Now after login I have another exception that involves Mongo :<div><br></div><div><div>22:15:21,616 ERROR [io.undertow.request] (default task-3) UT005023: Exception handling request to /auth/realms/keycloak-admin/tokens/access/codes: org.jboss.resteasy.spi.UnhandledException: java.lang.IllegalArgumentException: Can't found converter for type class org.keycloak.models.mongo.keycloak.entities.MongoClientUserSessionAssociationEntity in registered appObjectMappers</div>
<div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:76) [resteasy-jaxrs-3.0.6.Final.jar:]</div><div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:212) [resteasy-jaxrs-3.0.6.Final.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:149) [resteasy-jaxrs-3.0.6.Final.jar:]</div><div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:372) [resteasy-jaxrs-3.0.6.Final.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179) [resteasy-jaxrs-3.0.6.Final.jar:]</div><div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220) [resteasy-jaxrs-3.0.6.Final.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) [resteasy-jaxrs-3.0.6.Final.jar:]</div><div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) [resteasy-jaxrs-3.0.6.Final.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at org.keycloak.services.filters.ClientConnectionFilter.doFilter(ClientConnectionFilter.java:41) [keycloak-services-1.0-beta-1-SNAPSHOT.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(KeycloakSessionServletFilter.java:41) [keycloak-services-1.0-beta-1-SNAPSHOT.jar:]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)</div><div><span class="" style="white-space:pre">        </span>at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div>
<div><span class="" style="white-space:pre">        </span>at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687) [undertow-core-1.0.0.Final.jar:1.0.0.Final]</div><div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]</div>
<div><span class="" style="white-space:pre">        </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]</div><div><span class="" style="white-space:pre">        </span>at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]</div>
<div>Caused by: java.lang.IllegalArgumentException: Can't found converter for type class org.keycloak.models.mongo.keycloak.entities.MongoClientUserSessionAssociationEntity in registered appObjectMappers</div><div><span class="" style="white-space:pre">        </span>at org.keycloak.models.mongo.api.types.MapperRegistry.convertApplicationObjectToDBObject(MapperRegistry.java:80) [keycloak-model-mongo-1.0-beta-1-SNAPSHOT.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at org.keycloak.models.mongo.impl.MongoStoreImpl.insertEntity(MongoStoreImpl.java:171) [keycloak-model-mongo-1.0-beta-1-SNAPSHOT.jar:]</div><div><span class="" style="white-space:pre">        </span>at org.keycloak.models.mongo.keycloak.adapters.UserSessionAdapter.associateClient(UserSessionAdapter.java:102) [keycloak-model-mongo-1.0-beta-1-SNAPSHOT.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at org.keycloak.services.resources.TokenService.accessCodeToToken(TokenService.java:656) [keycloak-services-1.0-beta-1-SNAPSHOT.jar:]</div><div><span class="" style="white-space:pre">        </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_51]</div>
<div><span class="" style="white-space:pre">        </span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_51]</div><div><span class="" style="white-space:pre">        </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_51]</div>
<div><span class="" style="white-space:pre">        </span>at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]</div><div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137) [resteasy-jaxrs-3.0.6.Final.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:280) [resteasy-jaxrs-3.0.6.Final.jar:]</div><div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:234) [resteasy-jaxrs-3.0.6.Final.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:140) [resteasy-jaxrs-3.0.6.Final.jar:]</div><div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:103) [resteasy-jaxrs-3.0.6.Final.jar:]</div>
<div><span class="" style="white-space:pre">        </span>at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356) [resteasy-jaxrs-3.0.6.Final.jar:]</div><div><span class="" style="white-space:pre">        </span>... 37 more</div>
</div><div><br></div></div></div><div class="gmail_extra"><br clear="all"><div><div>--</div>Davide</div>
<br><br><div class="gmail_quote">On Tue, May 20, 2014 at 11:52 AM, Stian Thorgersen <span dir="ltr"><<a href="mailto:stian@redhat.com" target="_blank">stian@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
You need to edit:<br>
<br>
standalone/deployments/auth-server.war/WEB-INF/classes/META-INF/keycloak-server.json<br>
<br>
For mongo replace "model" and "audit" with:<br>
<br>
"audit": {<br>
"provider": "mongo",<br>
"mongo": {<br>
"host": "<hostname>",<br>
"port": <port>,<br>
"user": <user>,<br>
"password": <password><br>
}<br>
},<br>
<br>
"model": {<br>
"provider": "mongo"<br>
"mongo": {<br>
"host": "<hostname>",<br>
"port": <port>,<br>
"user": <user>,<br>
"password": <password><br>
}<br>
}<br>
<br>
"host" and "port" are optional if not specified "localhost" and 27017 will be used. "user" and "password" are optional as well, these are only required if you've enabled authentication for your mongo db. You can also change the db name by adding "db".<br>
<div class="im HOEnZb"><br>
----- Original Message -----<br>
> From: "Davide Ungari" <<a href="mailto:ungarida@gmail.com">ungarida@gmail.com</a>><br>
</div><div class="HOEnZb"><div class="h5">> To: "Stian Thorgersen" <<a href="mailto:stian@redhat.com">stian@redhat.com</a>><br>
> Cc: "Marek Posolda" <<a href="mailto:mposolda@redhat.com">mposolda@redhat.com</a>>, <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
> Sent: Tuesday, 20 May, 2014 10:38:41 AM<br>
> Subject: Re: [keycloak-user] MongoDB - Model provider not found<br>
><br>
> Hi Stian,<br>
> I'm aligned to master.<br>
> Could you show me the class I must read to understand how to configure it?<br>
><br>
> --<br>
> Davide<br>
><br>
><br>
> On Tue, May 20, 2014 at 10:45 AM, Stian Thorgersen <<a href="mailto:stian@redhat.com">stian@redhat.com</a>> wrote:<br>
><br>
> > In master this has recently changed and is now configured in a config file<br>
> > instead of through system properties. The documentation will be updated in<br>
> > due time.<br>
> ><br>
> > ----- Original Message -----<br>
> > > From: "Davide Ungari" <<a href="mailto:ungarida@gmail.com">ungarida@gmail.com</a>><br>
> > > To: "Marek Posolda" <<a href="mailto:mposolda@redhat.com">mposolda@redhat.com</a>><br>
> > > Cc: "Stian Thorgersen" <<a href="mailto:stian@redhat.com">stian@redhat.com</a>>, <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
> > > Sent: Tuesday, 20 May, 2014 8:17:52 AM<br>
> > > Subject: Re: [keycloak-user] MongoDB - Model provider not found<br>
> > ><br>
> > > Hi Marek,<br>
> > > thanks for your answer.<br>
> > ><br>
> > > You could add a paragraph in documentation page<br>
> > ><br>
> > <a href="http://docs.jboss.org/keycloak/docs/1.0-alpha-3/userguide/html_single/index.html#d4e167" target="_blank">http://docs.jboss.org/keycloak/docs/1.0-alpha-3/userguide/html_single/index.html#d4e167</a><br>
> > > about<br>
> > > this.<br>
> > ><br>
> > ><br>
> > > --<br>
> > > Davide<br>
> > ><br>
> > ><br>
> > > On Mon, May 19, 2014 at 10:38 PM, Marek Posolda <<a href="mailto:mposolda@redhat.com">mposolda@redhat.com</a>><br>
> > wrote:<br>
> > ><br>
> > > > Hi,<br>
> > > ><br>
> > > > I guess you removed persistence.xml from auth-server.war right? In<br>
> > newest<br>
> > > > version, persistence.xml contains configuration of model-api, but also<br>
> > for<br>
> > > > audit-api . Default implementation of audit-api is based on JPA and<br>
> > needs<br>
> > > > persistence.xml .<br>
> > > ><br>
> > > > Thing is that default implementation of audit-api is always based on<br>
> > JPA<br>
> > > > even if you changed your model implementation to "mongo". My opinion<br>
> > is,<br>
> > > > that we should change this behaviour. So default implementation of<br>
> > > > audit-api will be same like the chosen implementation of model-api. So<br>
> > if<br>
> > > > someone (like you) changed the implementation of model to be based on<br>
> > > > mongo, the audit-api will automatically use mongo as well. I will<br>
> > discuss<br>
> > > > with guys about this tomorrow.<br>
> > > ><br>
> > > > Until this is done, I think that easiest solution for you is to<br>
> > manually<br>
> > > > switch audit-api to use mongo as well. So in addition to property<br>
> > > > "-Dkeycloak.model=mongo" you also need to add property<br>
> > > > "-Dkeycloak.audit=mongo" .<br>
> > > ><br>
> > > > Marek<br>
> > > ><br>
> > > ><br>
> > > > On 16.5.2014 22:20, Davide Ungari wrote:<br>
> > > ><br>
> > > > Hi Stian,<br>
> > > > I think the problem was that I was running "mvn package" inside<br>
> > > > /keycloak/distribuition instead it works if your run it from root<br>
> > > > directory.<br>
> > > ><br>
> > > > I have all the jars, model-mongo included, but the application fails<br>
> > at<br>
> > > > startup with error message "No Persistence provider for EntityManager<br>
> > named<br>
> > > > jpa-keycloak-audit-store\". What am I doing wrong this time?<br>
> > > ><br>
> > > > If you need I'm free to test the import process as you do it.<br>
> > > ><br>
> > > > Thanks.<br>
> > > ><br>
> > > > --<br>
> > > > Davide<br>
> > > ><br>
> > > ><br>
> > > > On Thu, May 15, 2014 at 10:31 AM, Stian Thorgersen <<a href="mailto:stian@redhat.com">stian@redhat.com</a><br>
> > >wrote:<br>
> > > ><br>
> > > >> I'm not sure why the mongo model has been removed from the WAR, I'll<br>
> > look<br>
> > > >> into that.<br>
> > > >> "jpa-keycloak-identity-store"<br>
> > > >><br>
> > > >> We don't yet have support for upgrading the database when upgrading<br>
> > > >> Keycloak. This will be added soon. The plan is to provide a mechanism<br>
> > to<br>
> > > >> export the database to a json file, and after installing a new<br>
> > version of<br>
> > > >> Keycloak you import this json file again. We'll make this import<br>
> > backwards<br>
> > > >> compatible so you can import a json file from any older versions of<br>
> > > >> Keycloak.<br>
> > > >><br>
> > > >> ----- Original Message -----<br>
> > > >> > From: "Davide Ungari" <<a href="mailto:ungarida@gmail.com">ungarida@gmail.com</a>><br>
> > > >> > To: <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
> > > >> > Sent: Monday, 12 May, 2014 7:13:53 PM<br>
> > > >> > Subject: Re: [keycloak-user] MongoDB - Model provider not found<br>
> > > >> ><br>
> > > >> > I found out that:<br>
> > > >> > 1- the command "mvn package" does not include mongo module and<br>
> > driver<br>
> > > >> > 2- there is a regression on data model, updating source of keycloak<br>
> > I<br>
> > > >> must<br>
> > > >> > drop database in order to see the admin console works again<br>
> > > >> > --<br>
> > > >> > Davide<br>
> > > >> ><br>
> > > >> > _______________________________________________<br>
> > > >> > keycloak-user mailing list<br>
> > > >> > <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
> > > >> > <a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
> > > >><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > > _______________________________________________<br>
> > > > keycloak-user mailing<br>
> > > > listkeycloak-user@lists.jboss.orghttps://<br>
> > <a href="http://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > ><br>
> ><br>
><br>
</div></div></blockquote></div><br></div>