Update user via REST in external service on update

All my users are in KC. Not federated.
My app has a “people” table, which duplicate some user properties, like first and last name.
When a user updates his profile in KC, I want this change to be reflected in my app too.

I first thought of creating an event listener, which would then do a REST call to my app on the user update event. But the REST url, credentials etc would be hard coded in de listener, as AFAIK there is no way to make an event listener configurable from the admin interface.

Then I tried to implement a UserLookupProvider and UserStorageProvider, but this interface only has read methods, no update methods.

I also tried implementing a UserFederatedStorageProvider but this one doesnt even show up in the provider list in KC (deployment in KC succeeeds though.

Any ideas?

I think the EventListener approach is great. Going down the User*Provider hole is going to be a lot of work to get what you want.

You have access to the Config.Scope in the init method of your EventListenerProviderFactory. Why not read the url/creds/etc from a system property or environment variable?

I wasn’t aware of the existense of Config.Scope.
Thanks for the suggestion.

Update: it works. Thanks a lot.