Skip to content

sync with changes for admin client v2#212

Draft
shawkins wants to merge 1 commit intokeycloak:mainfrom
shawkins:iss48340
Draft

sync with changes for admin client v2#212
shawkins wants to merge 1 commit intokeycloak:mainfrom
shawkins:iss48340

Conversation

@shawkins
Copy link
Copy Markdown

@mposolda @keycloak/cloud-native here's a draft of syncing main to keycloak-client based upon the changes in keycloak/keycloak#48340

The only things really of note are the pom.xml changes:

https://github.com/keycloak/keycloak-client/compare/main...shawkins:keycloak-client:iss48340?expand=1#diff-a54ad8aa135b89beaa46815afe177edef8b6aa2814c64d8d281f05d9763f8da3R187-R198 - copies in the entire api module as it only contains the representations / rest interfaces.

https://github.com/keycloak/keycloak-client/compare/main...shawkins:keycloak-client:iss48340?expand=1#diff-9c5fb3d1b7e3b0f54bc5c4182965c4fe1f9023d449017cece3005d3f90e8e4d8R274-R298 - I was wondering if we could just use the bom rather than locally managing the anonotation dependency versions.

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
Copy link
Copy Markdown

@vmuzikar vmuzikar left a comment

Choose a reason for hiding this comment

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

The changes make sense to me.

Copy link
Copy Markdown
Contributor

@mposolda mposolda left a comment

Choose a reason for hiding this comment

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

@shawkins Thanks for the PR! Can you check the inline comments?

Comment thread pom.xml
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-parent</artifactId>
<version>${keycloak.version}</version>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is it possible to remove this? Keycloak-client libraries cannot have dependency on keycloak-parent . That is because keycloak-parent itself has some dependency on quarkus, but quarkus itself consumes keycloak-client, so this would introduce some kind of cyclic dependency and version incompatibilities... (That requirement to avoid dependency on keycloak-parent and quarkus was one of the reasons for introducing keycloak-client).

org/keycloak/common/util/MimeTypeUtil.java
</excludes>
</artifactItem>
<artifactItem>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is it possible to move this (and dependencies you introduced) to the file admin-client/pom.xml instead?

The client-common-synced is a common parent of all the clients like admin-client, authz-client and policy-enforcer. But authz-client and policy-enforcer don't need those additional dependencies and the dependency on client api V2.

Alternative is to introduce another module (if you think it is necessary and if adding this directly to admin-client does not work).

}

/**
* Create a secure proxy with endpoints targetting the server
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The admin-client is supposed to be backwards compatible.

But I suppose that client API v2 is not backwards compatible as it is still an experimental feature under development? It would be good to update javadoc of this method accordingly and add some warning that this is experimental and people should use it in their own risk in development environment only without guaranteed backwards compatibility (this is not related to this PR as it just sync the stuff from keycloak/keycloak, but will be good to update this in keycloak/keycloak, so it can be synced to the client later in the follow-up PR).

@mposolda mposolda self-assigned this Apr 28, 2026
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.

3 participants