[keycloak-dev] How to do default claim mappings?
Pedro Igor Silva
psilva at redhat.com
Mon Feb 23 08:17:32 EST 2015
Isn't better review the EventBuilder to provide a more robust event handling mech ?
----- Original Message -----
> From: "Stian Thorgersen" <stian at redhat.com>
> To: "Bill Burke" <bburke at redhat.com>
> Cc: keycloak-dev at lists.jboss.org
> Sent: Monday, February 23, 2015 5:07:32 AM
> Subject: Re: [keycloak-dev] How to do default claim mappings?
>
>
>
> ----- Original Message -----
> > From: "Bill Burke" <bburke at redhat.com>
> > To: keycloak-dev at lists.jboss.org
> > Sent: Friday, February 20, 2015 4:47:39 PM
> > Subject: [keycloak-dev] How to do default claim mappings?
> >
> > Per realm and per protocol (saml or OIDC), I'm going to need to register
> > a set of default claim mappers into storage. ProviderFactorys are
> > loaded at boot time and each of their init() methods is invoked. I'm
> > thinking of adding a new method to ProviderFactory
> >
> > void preprocess(KeycloakSessionFactory sessionFactory);
> >
> > This would be called after all providers have been loaded. This would
> > allow the OIDC and SAML providers to browser every realm to make sure
> > the appropriate built in claim mappers have been registered.
> >
> > I'm also thinking of adding a RealmCreationListener registration method
> > on RealmProvider. Within ProviderFactory.preprocess() components could
> > register themselves with the RealmProvider for realm creation events so
> > that they could add additional metadata specific to their plugin.
>
> preprocess is fine, except it adds a method that most providers won't use and
> also the name is a bit confusing.
>
> RealmCreationListener is fine, but what if we add more and more "events"
> providers can listen to. We'll get a lot of methods and listener types.
>
> What about adding a general purpose event listener framework for providers?
> We can add
>
> * ProviderEventListener ProviderFactory.getProviderEventListener()
>
> The bootstrapping process would after calling init on all ProviderFactory,
> call getProviderEventListener. If it returns null it won't register it, but
> otherwise it'll add it to the list of listeners.
>
> ProviderEventListener would have the following method:
>
> * void onEvent(ProviderEvent event)
>
> ProviderEvent would have:
>
> * EventType type
> * Map<String, String> details
>
> We can add events for:
>
> * Providers initialized - replaces preprocess, is invoked when all
> ProviderFactory init is called (and all ProviderEventListener are
> registered)
> * Realm created
> * Realm deleted
> * Application created
> * Application deleted
> * User created
> * User deleted
> * Others?
>
>
> >
> > --
> > Bill Burke
> > JBoss, a division of Red Hat
> > http://bill.burkecentral.com
> > _______________________________________________
> > keycloak-dev mailing list
> > keycloak-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/keycloak-dev
> >
> _______________________________________________
> 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