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