[keycloak-dev] new generic component storage

Marek Posolda mposolda at redhat.com
Thu Aug 11 10:57:46 EDT 2016


One thing partially related to this:

- Can we have the possibility in admin console, so the particular 
provider can "override" the default template for particular provider 
type? The generic configuration based on kc-provider-config directive 
works fine, but in some cases, people may want something more specific 
for their provider.

As an example, we currently have custom template "federated-ldap.html" 
just for LDAP Federation provider and for all the others, we have 
"federated-generic.html" . People don't have possibility to easily add 
their own templates for custom FederationProvider implementation. What I 
mean is, that if there is FooFederationProviderFactory with ID "foo" and 
there is template "federated-foo.html", then Keycloak will use this one 
template instead of "federated-generic.html" .  This should work just 
when people provide their own HTML template and copy into theme, but 
they won't need to change any builtin Keycloak templates ( app.js and 
others).

Marek

On 09/08/16 15:15, Bill Burke wrote:
> I've implemented a new generic component storage, api, REST API, and
> admin console support.  Classes/interfaces are in server-spi
> org.keycloak.component package and created via methods in RealmModel.
> It is basically a more generic form of mapper models,
> UserFederationModel, etc.  Components describe themselves and can be
> generically rendered by the admin console.  The storage model is meant
> to support nested subcomponents (i.e. UserFederationModel and
> UserFederationMappers).  Config now supports a MultivaluedHashmap
> instead of a flat Map to support list storage. There is a common REST
> API under the realm that should be usable for all component types.  The
> UserStorage SPI uses this new SPI from top to bottom.
>
> We should consider whether we want to migrate other component types to
> this new model.
>
> When you create components to store, you specify a parentId (i.e. Realm,
> Client, a parent component), a provider type, a provider id, and
> config.  For export, the json model will contain components under Realm
> and Client where the perspective parentId is Realm and Client.  I still
> want to make this as human consumable as possible so that these
> components can be defined by humans in json.
>
> Bill
>
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-dev



More information about the keycloak-dev mailing list