Skip to content

KEYCLOAK-11152 Added attribute tab for client in admin console#6250

Closed
soufian044 wants to merge 1 commit intokeycloak:masterfrom
soufian044:client-attributes-tab-feature
Closed

KEYCLOAK-11152 Added attribute tab for client in admin console#6250
soufian044 wants to merge 1 commit intokeycloak:masterfrom
soufian044:client-attributes-tab-feature

Conversation

@soufian044
Copy link

please refer to KEYCLOAK-11152

Added attribute tab for client in admin console to add , delete and update client attributes

@stianst
Copy link
Contributor

stianst commented Aug 26, 2019

Client attributes are not currently meant to store arbitrary data about users. Hence why these are not exposed on the admin console. Adding this tab may confuse most users as such I'm not really in favour of adding it. Can you please expand on your use-case? Can it be achieved with having client themes instead?

@stianst
Copy link
Contributor

stianst commented Aug 26, 2019

I would suggest opening a discussion around this on the dev mailing list. The previous issue/PR was rejected as this is not something we really want to add, so we need to have a discussion around this.

@soufian044
Copy link
Author

Sorry for the late reply ,
well here is an example of how we're using the client attributes,

there some stuff that we can accomplish using themes but some not like for example : no_email_verification : in some clients we don't want to send email verification during registration
auto_group_join : we would like to join user to certain groups during login 1 or more ...
...

please let me know if you need any other clarifications

thanks

image

@stianst stianst self-assigned this Sep 20, 2019
@stianst
Copy link
Contributor

stianst commented Oct 15, 2019

I don't see much interest in this PR or the associated JIRA, and I'm not convinced this is something we should add. Can you please start a discussion on the dev mailing list to see what others think and if there are others in the community also interested in this?

Copy link
Contributor

@stianst stianst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs to be discussed on dev ML

@stianst stianst closed this Nov 6, 2019
@stianst stianst removed the Hold label Apr 20, 2020
@trotman23
Copy link

One use-case I've encountered in support of adding this.

We have developed some custom authenticators that have the following requirements:

  • should only run in login flows for specific clients
  • need additional arbitrary metadata scoped to each client (e.g. client A's property businessId needs value B123, client B's property businessId needs value B456)
  • the Authenticator's requiresUser is true, as we also need the UUID of the user

All of this info is used as parameters to an external API which returns certain information that we then map into tokens.

We don't allow local users (every user needs to be brokered with an external IDP), so we currently have this authenticator configured in a custom post-broker-login flow. To achieve the listed requirements, we have to create a pretty hacky authenticator configuration that is essentially a string representation of a serialized json object to associate these values together e.g.

{
    "clientA": {
        "businessId": "B123",
        "foo": "bar"
    },
    "clientB": {
        "businessId": "B456",
        "foo": "bar2"
    }
}

The downside of doing this is also that we need to mark the authenticator to always run, and then write logic in authenticate to check this configuration to see if it should actually execute or perform a no-op.

I wanted to use client attributes for this use-case, so in the authenticator's configuredFor, method, I could read an attribute from the client to check if it actually needs to run. I would also use client attributes to populate the businessId property per-client.

Adding client attributes to the admin ui makes management of this configuration a lot easier.

@tlenclos
Copy link

We wan't to activate / deactivate some feature on the theme for some clients, how would you do it without custom client attributes ?

@sokil
Copy link

sokil commented Sep 18, 2024

One more usecase.

User has attributes, that may be added to claim by User Attribute mapper.
Client is also a subject of authentication when client_credentials used, so client attributes is logical entity to be used for claim mapping.

@crisgonzalezallaria
Copy link

We are using Keycloak for M2M between our microservices as well as for external clients who use our APIs. How can we configure certain important parameters for some clients if we cannot set up any kind of metadata? I understand that adding attributes (which we can also call metadata) would allow us to extend behavior and, together with Protocol Mapper, add more contextual information within the tokens.

@cbertagnolli
Copy link

cbertagnolli commented Apr 18, 2025

Definitely something that should have been added. We need to make UI decisions by client for UI flows.

Client A might need to only accept certain IDPs, display different error messages / custom redirects or need different steps in the flow. Being able to capture this via client tags quickly in UI, read them in, then modify the behavior would make that a lot easier to deal with for admins.

@ttupekadd
Copy link

Also adding my vote for this. Currently, there’s no way to group clients in Keycloak, which makes managing a growing number of clients increasingly difficult. Native grouping support would be a highly valuable feature. Even the ability to add and view custom attributes in the Admin UI would go a long way in helping organize and manage clients more effectively.

@bernhof
Copy link

bernhof commented Sep 9, 2025

We have a similar use case where we need client-specific configuration that determines how certain user attributes are translated to claims for each client.

We have developed a custom protocol mapper for this, which should be able to read this custom client configuration. Generic attributes on the client itself would be a good place to store these.

(Note: these could also be stored on a client's associated service account which has attribute support. However, this excludes public clients which are in scope for this configuration in our case)

@ataylormays-owner
Copy link

Any updates on this? Consider this some community appetite for the feature here in 2026, in addition to the upvotes on the original question and comments above!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants