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> 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>
> To: "Stian Thorgersen" <stian(a)redhat.com>
> Cc: "Marek Posolda" <mposolda(a)redhat.com>,
keycloak-user(a)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>
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>
> > > To: "Marek Posolda" <mposolda(a)redhat.com>
> > > Cc: "Stian Thorgersen" <stian(a)redhat.com>,
keycloak-user(a)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
>
> > 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
> > >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>
> > > >> > To: keycloak-user(a)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
> > > >> >
https://lists.jboss.org/mailman/listinfo/keycloak-user
> > > >>
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > keycloak-user mailing
> > > > listkeycloak-user@lists.jboss.orghttps://
> >
lists.jboss.org/mailman/listinfo/keycloak-user
> > > >
> > > >
> > > >
> > >
> >
>