Custom tabs in admin console

81 views
Skip to first unread message

Francis PEROT

unread,
May 23, 2025, 12:51:31 PMMay 23
to keyclo...@googlegroups.com
Hi,

I'm migrating my Keycloak modules to KC26.
I had to support the new admin console and I added tabs in the admin console (at clients and identity provider level).
When implementing these tabs 2 months ago, I was running Keycloak with --features=declarative-ui and was able to test them, everything went fine.
Now, it took some more time to migrate and I can now test all our modules: I am running Keycloak 26.2.4 with all our modules, still running with --features=declarative-ui parameter... but tabs are not displayed.
Is there something I'm missing? Some other property to set or a flag to configure somewhere?

Example:
Class HrdTab implements UiTabProvider, UiTabProviderFactory<ComponentModel> and includes:
@Override
public String getPath() {
   return "/:realm/identity-providers/oidc/:alias/:tab?";
}

@Override
public Map<String, String> getParams() {
   Map<String, String> params = new HashMap<>();
   params.put("tab", "hrd");
   return params;
}
File META-INF/services/org.keycloak.services.ui.extend.UiTabProviderFactory contains: io.cloudtrust.keycloak.hrd.ui.admin.HrdTab

When running Keycloak, I can see in logs:
2025-05-23 18:09:55,764 WARN  [org.keycloak.common.Profile] (main) Experimental features enabled: declarative-ui:v1
839 WARN  [org.keycloak.services] (build-10) KC-SERVICES0047: hrd-authenticator (io.cloudtrust.keycloak.hrd.authenticators.browser.HRDIdentityProviderAuthenticatorFactory) is implementing the internal SPI authenticator. This SPI is internal and may change without notice
588 INFO  [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 6695ms
557 WARN  [org.keycloak.common.Profile] (main) Experimental features enabled: declarative-ui:v1
648 WARN  [org.keycloak.common.Profile] (main) Experimental features enabled: declarative-ui:v1
867 WARN  [org.keycloak.services] (build-9) KC-SERVICES0047: Home-realm discovery settings (io.cloudtrust.keycloak.hrd.ui.admin.HrdTab) is implementing the internal SPI ui-tab. This SPI is internal and may change without notice
039 INFO  [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 7074ms
072 WARN  [org.keycloak.common.Profile] (main) Experimental features enabled: declarative-ui:v1
262 WARN  [org.keycloak.common.Profile] (main) Experimental features enabled: declarative-ui:v1
789 INFO  [org.keycloak.quarkus.runtime.storage.database.liquibase.QuarkusJpaUpdaterProvider] (main) Initializing database schema. Using changelog META-INF/jpa-changelog-master.xml
555 INFO  [org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory] (main) Starting Infinispan embedded cache manager
615 INFO  [org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory] (main) JGroups JDBC_PING discovery enabled.
791 INFO  [org.infinispan.CONTAINER] (main) Virtual threads support enabled
002 INFO  [org.infinispan.CONTAINER] (main) ISPN000556: Starting user marshaller 'org.infinispan.commons.marshall.ImmutableProtoStreamMarshaller'
398 INFO  [org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory] (main) Node name: node_857109, Site name: null
672 INFO  [org.keycloak.services] (main) KC-SERVICES0050: Initializing master realm
994 INFO  [org.keycloak.services] (main) KC-SERVICES0077: Created temporary admin user with username admin
291 INFO  [io.quarkus] (main) Keycloak 26.2.4 on JVM (powered by Quarkus 3.20.0) started in 11.828s. Listening on: http://0.0.0.0:8180

I also tried to add logs in getId(), getPath(), ... of my HrdTab and I can see in logs that this part of the code is executed. But I can't see my custom tab displayed in the admin console.

Same problem with another tab defined with the following path: "/:realm/clients/:tab?"

Does anyone can point the thing I'm missing?

Thanks,

Francis Pérot

Senior software engineer

 

Logo

Description automatically generated

 

ELCA Security | www.elcasecurity.ch

Rue Louis Casaï 18 | 1209 Genève

 

   

 

This message may contain confidential and/or privileged information. If you are neither the addressee nor

Authorized to receive this for the addressee, you must not use, copy, disclose or take any action based on

this message or any  information herein. If you have received this message in error, please contact the sender

and delete this message. Thank you.

 

Francis PEROT

unread,
May 26, 2025, 10:19:57 AMMay 26
to keyclo...@googlegroups.com, Francis PEROT
I tried to install and test my modules on many Keycloak versions...
It seems my tabs implementing UiTabProvider/UiTabProviderFactory are not displayed in Keycloak since version 26.2.0... They are displayed in all 26.1.x versions but stopped being displayed in 26.2.0.
I did not see anything related to this in the release notes. Is it a bug?

Francis


From: 'Francis PEROT' via Keycloak Dev <keyclo...@googlegroups.com>
Sent: Friday, May 23, 2025 6:51 PM
To: keyclo...@googlegroups.com <keyclo...@googlegroups.com>
Subject: [keycloak-dev] Custom tabs in admin console

 

EXTERNAL MESSAGE - This email comes from outside ELCA companies.

--
You received this message because you are subscribed to the Google Groups "Keycloak Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to keycloak-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/keycloak-dev/GVAP278MB013687DD06A8ABE80EA0DF41E498A%40GVAP278MB0136.CHEP278.PROD.OUTLOOK.COM.

Stan Silvert

unread,
Jun 3, 2025, 9:22:09 AMJun 3
to Francis PEROT, keyclo...@googlegroups.com
Sounds like it might be a bug.  Please log an issue.

Francis PEROT

unread,
Jun 4, 2025, 3:03:19 AMJun 4
to Stan Silvert, keyclo...@googlegroups.com
Yes... I opened one last week and Erik fixed/rolled back something for a future release.



From: Stan Silvert <ssil...@redhat.com>
Sent: Tuesday, June 3, 2025 3:21 PM
To: Francis PEROT <franci...@elca.ch>
Cc: keyclo...@googlegroups.com <keyclo...@googlegroups.com>
Subject: Re: [keycloak-dev] Re: Custom tabs in admin console

You don't often get email from ssil...@redhat.com. Learn why this is important
Reply all
Reply to author
Forward
0 new messages