I'm not saying it does not work, but in my case I have a specific module with all the
authz stuff. There I'm already using Spis from KC such as JpaConnectionProvider,
extension to admin rest api, etc. That is fine and everything is perfect.
The problem I'm facing is how to tell KC to load Spis from my module without change a
bit in KC modules or change code. If you see
org.keycloak.services.DefaultKeycloakSessionFactory#init, Spis are loaded from
getClass().getClassLoader(). Considering that my Spis are in a different classloader, they
will never be loaded.
A simple solution for that would be to do something similar as when loading providers, so
you could also consider the classloaders from the providers when loading Spis.
----- Original Message -----
From: "Bill Burke" <bburke(a)redhat.com>
To: keycloak-dev(a)lists.jboss.org
Sent: Friday, October 16, 2015 2:18:22 PM
Subject: Re: [keycloak-dev] Authz Model Implementation
On 10/16/2015 9:07 AM, Pedro Igor Silva wrote:
Yeah, I've talked with Bolek as well and we discussed about
focusing on JPA (which I was already using) for now, but still provide a SPI for future
implementations.
>From a SPI perspective, I did something very simple without KC's
org.keycloak.provider.Spi. The main reason for this decision is that Spis in KC are not
loaded when defined within a custom provider and I'm trying to minimize changes in KC
itself.
How could the org.keycloak.provider.Spi not work? It uses the
META-INF/services pattern to locate new and old Spis. Nothing magical
there. Your jar just needs to be loaded into the appropriate modules.
--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com
_______________________________________________
keycloak-dev mailing list
keycloak-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-dev