Skip to content

Patch 51315 - #51332

Open
rpjicond wants to merge 5 commits into
keycloak:mainfrom
rpjicond:patch-51315
Open

Patch 51315#51332
rpjicond wants to merge 5 commits into
keycloak:mainfrom
rpjicond:patch-51315

Conversation

@rpjicond

Copy link
Copy Markdown
Contributor

Fixes #51315.

When updating clients via the Admin UI, blank or empty string redirect URIs can be sent in the request payload. This causes SecureRedirectUrisEnforcerExecutor to throw an Invalid URI Type error when the oauth-2-1-for-public-client policy is active, preventing the client from being saved.

This PR skips validation for null or blank/empty redirect URIs before evaluating them.

github-actions Bot and others added 4 commits July 8, 2026 15:21
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Closes keycloak#50712

Signed-off-by: stianst <stianst@gmail.com>
Copilot AI review requested due to automatic review settings July 31, 2026 11:19
@rpjicond
rpjicond requested review from a team as code owners July 31, 2026 11:19

Copilot AI left a comment

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.

Pull request overview

Fixes redirect URI validation for blank Admin UI values, but also includes unrelated 26.7.0 release artifacts.

Changes:

  • Skips null or blank redirect URI validation.
  • Pins Maven/NPM modules to 26.7.0.
  • Updates generated migration and protocol metadata.

Reviewed changes

Copilot reviewed 193 out of 196 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
util/pom.xml Pins parent version.
util/embedded-ldap/pom.xml Pins parent version.
themes/pom.xml Pins parent version.
testsuite/utils/pom.xml Pins parent version.
testsuite/pom.xml Pins parent version.
testsuite/model/pom.xml Pins parent version.
testsuite/integration-arquillian/util/pom.xml Pins parent version.
testsuite/integration-arquillian/tests/pom.xml Pins parent version.
testsuite/integration-arquillian/tests/other/sssd/pom.xml Pins parent version.
testsuite/integration-arquillian/tests/other/pom.xml Pins parent version.
testsuite/integration-arquillian/tests/base/pom.xml Pins parent version.
testsuite/integration-arquillian/test-apps/servlets/pom.xml Pins parent version.
testsuite/integration-arquillian/test-apps/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/migration/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/cache-server/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/cache-server/legacy/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/cache-server/legacy/infinispan/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/cache-server/legacy/datagrid/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/cache-server/infinispan/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/cache-server/infinispan/infinispan/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/cache-server/infinispan/datagrid/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/auth-server/undertow/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers-deployment/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/auth-server/services/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/auth-server/quarkus/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/auth-server/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/app-server/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/app-server/jboss/wildfly/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/app-server/jboss/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/app-server/jboss/galleon/pom.xml Pins parent version.
testsuite/integration-arquillian/servers/app-server/app-server-spi/pom.xml Pins parent version.
testsuite/integration-arquillian/pom.xml Pins parent version.
tests/webauthn/pom.xml Pins parent version.
tests/utils/pom.xml Pins parent version.
tests/utils-shared/pom.xml Pins parent version.
tests/pom.xml Pins parent version.
tests/migration-util/pom.xml Pins parent version.
tests/custom-scripts/pom.xml Pins parent version.
tests/custom-providers/pom.xml Pins parent version.
tests/conformance/pom.xml Pins parent version.
tests/clustering/pom.xml Pins parent version.
tests/base/pom.xml Pins parent version.
test-framework/ui/pom.xml Pins parent version.
test-framework/tests/pom.xml Pins parent version.
test-framework/test-providers/pom.xml Pins parent version.
test-framework/test-containers/pom.xml Pins parent version.
test-framework/remote/pom.xml Pins parent version.
test-framework/remote-providers/pom.xml Pins parent version.
test-framework/pom.xml Pins parent version.
test-framework/oauth/pom.xml Pins parent version.
test-framework/junit5-config/pom.xml Pins parent version.
test-framework/infinispan-server/pom.xml Pins parent version.
test-framework/email-server/pom.xml Pins parent version.
test-framework/db-tidb/pom.xml Pins parent version.
test-framework/db-postgres/pom.xml Pins parent version.
test-framework/db-oracle/pom.xml Pins parent version.
test-framework/db-mysql/pom.xml Pins parent version.
test-framework/db-mssql/pom.xml Pins parent version.
test-framework/db-mariadb/pom.xml Pins parent version.
test-framework/db-edb/pom.xml Pins parent version.
test-framework/core/pom.xml Pins parent version.
test-framework/clustering/pom.xml Pins parent version.
test-framework/builders/pom.xml Pins parent version.
test-framework/bom/pom.xml Pins parent version.
ssf/transmitter/pom.xml Pins parent version.
ssf/tests/pom.xml Pins parent version.
ssf/tests/base/pom.xml Pins parent version.
ssf/services/pom.xml Pins parent version.
ssf/pom.xml Pins parent version.
ssf/core/pom.xml Pins parent version.
services/src/main/java/org/keycloak/services/clientpolicy/executor/SecureRedirectUrisEnforcerExecutor.java Skips null/blank URI validation.
services/pom.xml Pins parent version.
server-spi/pom.xml Pins parent version.
server-spi-private/pom.xml Pins parent version.
scim/tests/scim-client/pom.xml Pins parent version.
scim/tests/pom.xml Pins parent version.
scim/tests/base/pom.xml Pins parent version.
scim/services/pom.xml Pins parent version.
scim/pom.xml Pins parent version.
scim/model/pom.xml Pins parent version.
scim/core/pom.xml Pins parent version.
scim/client/pom.xml Pins parent version.
saml-core/pom.xml Pins parent version.
saml-core-api/pom.xml Pins parent version.
rest/pom.xml Pins parent version.
rest/admin-v2/tests/pom.xml Pins parent version.
rest/admin-v2/services/pom.xml Pins parent version.
rest/admin-v2/pom.xml Pins parent version.
rest/admin-v2/api/pom.xml Pins parent version.
rest/admin-ui-ext/pom.xml Pins parent version.
quarkus/tests/pom.xml Pins parent version.
quarkus/tests/junit5/pom.xml Pins parent version.
quarkus/tests/integration/pom.xml Pins parent version.
quarkus/server/pom.xml Pins parent version.
quarkus/runtime/pom.xml Pins parent version.
quarkus/pom.xml Pins parent version.
quarkus/dist/pom.xml Pins parent version.
quarkus/deployment/pom.xml Pins parent version.
quarkus/config-api/pom.xml Pins parent version.
pom.xml Sets release versions and plugins.
operator/pom.xml Pins parent version.
model/storage/pom.xml Pins parent version.
model/storage-services/pom.xml Pins parent version.
model/storage-private/src/main/resources/META-INF/rolling-upgrades-unsupported-changes.json Adds generated upgrade metadata.
model/storage-private/src/main/resources/META-INF/rolling-upgrades-supported-changes.json Adds generated migration metadata.
model/storage-private/pom.xml Pins parent version.
model/pom.xml Pins parent version.
model/jpa/src/main/resources/META-INF/rolling-upgrades-unsupported-changes.json Adds generated upgrade metadata.
model/jpa/src/main/resources/META-INF/rolling-upgrades-supported-changes.json Adds generated changelog metadata.
model/jpa/pom.xml Pins parent version.
model/infinispan/proto.lock Updates protocol schema lock.
model/infinispan/pom.xml Pins parent version.
misc/theme-verifier/pom.xml Pins parent version.
misc/db-compatibility-verifier/pom.xml Pins parent version.
js/themes-vendor/pom.xml Pins parent version.
js/pom.xml Pins parent version.
js/libs/ui-shared/pom.xml Pins parent version.
js/libs/ui-shared/package.json Sets package version.
js/libs/keycloak-admin-client/pom.xml Pins parent version.
js/libs/keycloak-admin-client/package.json Sets package version.
js/apps/admin-ui/pom.xml Pins parent version.
js/apps/admin-ui/package.json Sets package version.
js/apps/account-ui/pom.xml Pins parent version.
js/apps/account-ui/package.json Sets package version.
integration/pom.xml Pins parent version.
integration/client-registration/pom.xml Pins parent version.
integration/client-cli/pom.xml Pins parent version.
integration/client-cli/client-cli-dist/pom.xml Pins parent version.
integration/client-cli/admin-cli/pom.xml Pins parent version.
integration/admin-client/pom.xml Pins parent version.
federation/sssd/pom.xml Pins parent version.
federation/pom.xml Pins parent version.
federation/ldap/pom.xml Pins parent version.
federation/kerberos/pom.xml Pins parent version.
federation/ipatuura/pom.xml Pins parent version.
docs/pom.xml Pins parent version.
docs/maven-plugin/pom.xml Pins parent version.
docs/guides/pom.xml Pins parent version.
docs/documentation/upgrading/pom.xml Pins parent version.
docs/documentation/topics/templates/document-attributes.adoc Sets documented release version.
docs/documentation/tests/pom.xml Pins parent version.
docs/documentation/server_development/pom.xml Pins parent version.
docs/documentation/server_admin/pom.xml Pins parent version.
docs/documentation/release_notes/pom.xml Pins parent version.
docs/documentation/pom.xml Sets documentation versions.
docs/documentation/header-maven-plugin/pom.xml Sets plugin versions.
docs/documentation/dist/pom.xml Pins parent version.
docs/documentation/authorization_services/pom.xml Pins parent version.
docs/documentation/api_documentation/pom.xml Pins parent version.
docs/documentation/aggregation/pom.xml Pins parent version.
distribution/saml-adapters/wildfly-adapter/wildfly-modules/pom.xml Pins parent version.
distribution/saml-adapters/wildfly-adapter/wildfly-adapter-zip/pom.xml Pins parent version.
distribution/saml-adapters/wildfly-adapter/pom.xml Pins parent version.
distribution/saml-adapters/pom.xml Pins parent version.
distribution/pom.xml Pins parent version.
distribution/maven-plugins/pom.xml Pins parent version.
distribution/maven-plugins/licenses-processor/pom.xml Pins parent version.
distribution/licenses-common/pom.xml Pins parent version.
distribution/galleon-feature-packs/saml-adapter-galleon-pack/pom.xml Pins parent version.
distribution/galleon-feature-packs/saml-adapter-galleon-pack-layer-metadata-tests/pom.xml Pins parent version.
distribution/galleon-feature-packs/pom.xml Pins parent version.
distribution/downloads/pom.xml Pins parent version.
distribution/api-docs-dist/pom.xml Pins parent version.
dependencies/server-min/pom.xml Pins parent version.
dependencies/server-all/pom.xml Pins parent version.
dependencies/pom.xml Pins parent version.
crypto/pom.xml Pins parent version.
crypto/fips1402/pom.xml Pins parent version.
crypto/elytron/pom.xml Pins parent version.
crypto/default/pom.xml Pins parent version.
core/pom.xml Pins parent version.
common/pom.xml Pins parent version.
boms/spi/pom.xml Pins parent version.
boms/pom.xml Sets BOM version.
authzen/tests/providers/pom.xml Pins parent version.
authzen/tests/pom.xml Pins parent version.
authzen/tests/base/pom.xml Pins parent version.
authzen/tests/authzen-client/pom.xml Pins parent version.
authzen/services/pom.xml Pins parent version.
authzen/pom.xml Pins parent version.
authz/pom.xml Pins parent version.
authz/policy/pom.xml Pins parent version.
authz/policy/common/pom.xml Pins parent version.
authz/client/pom.xml Pins parent version.
adapters/spi/pom.xml Pins parent version.
adapters/spi/jboss-adapter-core/pom.xml Pins parent version.
adapters/spi/adapter-spi/pom.xml Pins parent version.
adapters/saml/wildfly/wildfly-subsystem/pom.xml Pins parent version.
adapters/saml/wildfly/pom.xml Pins parent version.
adapters/saml/wildfly-elytron/pom.xml Pins parent version.
adapters/saml/pom.xml Pins parent version.
adapters/saml/core/pom.xml Pins parent version.
adapters/saml/core-public/pom.xml Pins parent version.
adapters/pom.xml Pins parent version.

Comment on lines +258 to +260
if (redirectUri == null || redirectUri.trim().isEmpty()){
return;
}
Comment thread pom.xml
<groupId>org.keycloak</groupId>
<artifactId>keycloak-parent</artifactId>
<version>999.0.0-SNAPSHOT</version>
<version>26.7.0</version>
Comment on lines +258 to +260
if (redirectUri == null || redirectUri.trim().isEmpty()){
return;
}

@edewit edewit left a comment

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.

I don't think you mend to change the version in all the pom files

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Invalid URI Type for a valid URI when using "oauth-2-1-for-public-client"

4 participants