<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi Davide, <br>
<br>
Right now, mongo model should be fixed and work without issues on
KC master.<br>
<br>
Marek<br>
<br>
On 21.5.2014 00:14, Marek Posolda wrote:<br>
</div>
<blockquote cite="mid:537BD3E2.2040905@redhat.com" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<div class="moz-cite-prefix">i've looked at this one and have it
fixed in branch <a moz-do-not-send="true"
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 moz-do-not-send="true"
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>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
keycloak-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/keycloak-user">https://lists.jboss.org/mailman/listinfo/keycloak-user</a></pre>
</blockquote>
<br>
</body>
</html>