[keycloak-user] Component Model for mere mortals

Dmitry Telegin mitya at cargosoft.ru
Thu Dec 14 10:33:43 EST 2017


(i.e. for non-Redhat guys who develop Keycloak extensions themselves)

Hi,

I'm trying to get a better understanding of what the Keycloak component
model is and whether it will suit my particular use case.

Is it true that components:
- are associated with providers;
- have lifecycle independent of that of the associated provider (i.e.
neither a component automatically instantiates a provider, nor vice
versa);
- allow providers to persist arbitrary configuration in the form of
String-valued MultivaluedHashmap;
- allow providers to establish parent-child relationship;
- are bound to realms?

Now for the use case; imagine there are several providers (e.g.
EntityProvider + RealmResourceProvider + Authenticator), and they all
should share a *global*, singleton config (i.e. not bound to any
realm). Can I achieve this with components? Will setting realm to null
work? Using master realm doesn't seem to be a good idea, since,
according to Stian, there were plans to deprecate and get rid of master
realm (is that still the case?)

If components are not the way to go, how else could I implement global,
runtime-modifiable and GUI-editable config? Obviously I could introduce
another custom JPA entity for that, but I'd like to avoid literally
"multiplying entities without necessity" (C).

Thanks in advance,
Dmitry



More information about the keycloak-user mailing list