How to customize admin theme and add additional columns to user table?

I would like add columns to the user table in the admin area, like userId and other (custom) user attributes. See screenshot.
I don’t see theme templates (*.ftl) for the admin area.
Is this possible to customize the admin area at all?
Thanks for any feedback!

1 Like

The new admin UI is a React application. The current recommendation by the maintainers is to fork the whole thing. 1000x harder than the old admin UI to modify.

Thanks for the info. It’s not critical, more a convenience thing.

Hi guys, any update on this topic here? Yes previously it was perfect, easy override without source code changes. I created an own users-list page with a ag-grid and all grid columns and features my client wished. Now i am not sure if i either should create a fork or rebuild (at least the users-list page) the users page via rest api from a angular frontend. What do you guys think?

There still isn’t a great way to extend the Admin UI. I have taken 2 different strategies when building Admin UI extensions for customers:

  1. fork the admin UI and build it as a theme with a different name
  2. build a separate app, and package it as something that can be served as a REST resource, and thus can be packaged as a Keycloak extension

Neither are ideal, but IDK of a better solution.

1 Like

Thank you @xgp! That’s a pity. Do you have links to any documentation or example code for your two strategies? Currently i cannot estimate how any of these solutions would take time, but i have to before i start :wink:

Please don’t post your email address here to request other users to contact you.
If you have something helpful to offer, post it here, so that others can also profit from your knowledge.
Thanks for your understanding.


Hello Alex,

To integrate your custom data :
Firstly, extend the backend Service Provider Interface (SPI) for user management.
Next, develop an API to facilitate storing data into the designated field.
Then, in the user interface, update the relevant section to include your custom fields and connect them to the user controller.
With these steps completed, your custom data will be efficiently managed and displayed alongside user information.

Thank you and regards
Sasanka Sekhar