<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">i've looked at this one and have it
fixed in branch <a class="moz-txt-link-freetext" href="https://github.com/mposolda/keycloak/">https://github.com/mposolda/keycloak/</a> . Feel free
to give it try if you are impatient, but still it seems that there
are some more issues with mongo model (few integration tests are
still failing). I will send PR to master tomorrow morning with
mongo model fully working.<br>
<br>
Marek<br>
<br>
On 20.5.2014 22:18, Davide Ungari wrote:<br>
</div>
<blockquote
cite="mid:CA+TL3n1GjHd--=jgN=26YYXWry307vi_3QOzfrtHVqpW-38cgQ@mail.gmail.com"
type="cite">
<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 moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:ungarida@gmail.com">ungarida@gmail.com</a>><br>
</div>
<div class="HOEnZb">
<div class="h5">> To: "Stian Thorgersen" <<a
moz-do-not-send="true" href="mailto:stian@redhat.com">stian@redhat.com</a>><br>
> Cc: "Marek Posolda" <<a moz-do-not-send="true"
href="mailto:mposolda@redhat.com">mposolda@redhat.com</a>>,
<a moz-do-not-send="true"
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 moz-do-not-send="true"
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
moz-do-not-send="true"
href="mailto:ungarida@gmail.com">ungarida@gmail.com</a>><br>
> > > To: "Marek Posolda" <<a
moz-do-not-send="true"
href="mailto:mposolda@redhat.com">mposolda@redhat.com</a>><br>
> > > Cc: "Stian Thorgersen" <<a
moz-do-not-send="true" href="mailto:stian@redhat.com">stian@redhat.com</a>>,
<a moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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
moz-do-not-send="true"
href="mailto:ungarida@gmail.com">ungarida@gmail.com</a>><br>
> > > >> > To: <a
moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
> > > >> > <a moz-do-not-send="true"
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>
> > > >
<a class="moz-txt-link-abbreviated" href="mailto:listkeycloak-user@lists.jboss.orghttps://">listkeycloak-user@lists.jboss.orghttps://</a><br>
> > <a moz-do-not-send="true"
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>
</blockquote>
<br>
</body>
</html>