8000 Always validate post-logout redirect URIs in SecureRedirectUrisEnforcerExecutor by jimmychakkalakal · Pull Request #53038 · keycloak/keycloak · GitHub
[go: up one dir, main page]

Skip to content

Always validate post-logout redirect URIs in SecureRedirectUrisEnforcerExecutor - #53038

Merged
mposolda merged 7 commits into
keycloak:mainfrom
jimmychakkalakal:issues/50982-Fix-post-logout-redirect-URIs-in-SecureRedirectUrisEnforcerExecutor
Nov 6, 2026
Merged

mposolda merged 7 commits into
keycloak:mainfrom
jimmychakkalakal:issues/50982-Fix-post-logout-redirect-URIs-in-SecureRedirectUrisEnforcerExecutor

Conversation

@jimmychakkalakal
@jimmychakkalakal jimmychakkalakal commented Sep 22, 2026 •
Copy link
Copy Markdown
Contributor

The secure-redirect-uris-enforcer executor skipped post-logout redirect URI validation when both standard flow and implicit flow were disabled, and read post-logout URIs only from the proposed representation. Together this allowed a two-step bypass: store an HTTP post-logout URI with flows off, then re-enable flows via a partial update that omits the attributes map. The stored HTTP URI survived and was used at RP-initiated logout.

What changed

  • verifyPostLogoutRedirectUriUpdate now runs on every CREATE/UPDATE, regardless of flow state.
  • When the proposed representation omits post.logout.redirect.uris, the executor revalidates the value stored on the client instead of silently accepting the update.

Upgrade impact

Two classes of client are now rejected on CREATE/UPDATE:

  • Both flows disabled with HTTP redirect URIs, and either no post.logout.redirect.uris attribute or the

  • +placeholder — both inherit the redirect URIs.

  • An explicit HTTP post.logout.redirect.uris stored in attributes, whether set before the policy was active or retained
    through the bypass above. Partial updates that omit the attributes map now revalidate it, so even a rename is
    rejected.
    Remediation: set post.logo 8000 ut.redirect.uris to - to opt out of enforcement, or migrate to HTTPS. Both work before and after upgrading. Documented in the 26.8.0 upgrading guide.

Closes #50982

PR Description Generated with Claude Code

@jimmychakkalakal
jimmychakkalakal requested a balanced review from Copilot September 22, 2026 09:23
@jimmychakkalakal
jimmychakkalakal force-pushed the issues/50982-Fix-post-logout-redirect-URIs-in-SecureRedirectUrisEnforcerExecutor branch from 84547ba to 611c60c Compare September 22, 2026 09:23
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.

Copilot review overview

🟡 Changes recommended

The reported partial-update security bypass remains possible, and the regression test does not exercise a true partial update.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 High severity · 1 Low severity

Open (2)
What changed in this PR

Updates secure redirect enforcement to validate post-logout URIs regardless of enabled authentication flows.

Changes:

  • Moves post-logout validation outside flow checks.
  • Adds stored-client fallback and integration tests.
File Description
SecureRedirectUrisEnforcerExecutor.java Adds unconditional post-logout URI validation.
SecureRedirectUrisEnforcerExecutorTest.java Adds regression scenarios for URI validation.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@jimmychakkalakal
jimmychakkalakal force-pushed the issues/50982-Fix-post-logout-redirect-URIs-in-SecureRedirectUrisEnforcerExecutor branch 2 times, most recently from e15999b to e5ccaff Compare September 24, 2026 12:28
@jimmychakkalakal
jimmychakkalakal requested a balanced review from Copilot September 24, 2026 12:28
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.

Copilot review overview

🟡 Changes recommended

Stored URI fallback remains bypassable, relative URIs can use the wrong root URL, and the tests do not exercise true partial updates.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 2 High severity · 1 Medium severity · 1 Low severity

Open (4)

@jimmychakkalakal
jimmychakkalakal force-pushed the issues/50982-Fix-post-logout-redirect-URIs-in-SecureRedirectUrisEnforcerExecutor branch from 23a6247 to bbb8e68 Compare September 25, 2026 12:46
@jimmychakkalakal
jimmychakkalakal requested a balanced review from Copilot September 25, 2026 12:55
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.

Copilot review overview

🟡 Changes recommended

Partial-update state merging remains incorrect, leaving a policy bypass and blocking explicit URI removal.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 2 High severity · 1 Low severity

Open (3)
Resolved since last review (2)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Honor explicit '-' to disable post-logout redirects

services/​src/​main/​java/​org/​keycloak/​services/​clientpolicy/​executor/​SecureRedirectUrisEnforcerExecutor.java:245

An explicitly supplied "-" is converted to an empty list, so this condition replaces the intended disabled configuration with the stored URI list. A client with a pre-existing invalid URI is therefore unable to remediate it by disabling post-logout redirects; distinguish an omitted attribute from the explicit "-" sentinel before falling back.

@jimmychakkalakal
jimmychakkalakal force-pushed the issues/50982-Fix-post-logout-redirect-URIs-in-SecureRedirectUrisEnforcerExecutor branch 2 times, most recently from a0ff28b to 5341b4d Compare September 25, 2026 15:36
@jimmychakkalakal
jimmychakkalakal requested a balanced review from Copilot September 25, 2026 15:37
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.

Copilot review overview

🟡 Changes recommended

Partial updates containing safe redirect URIs can still bypass validation of a retained insecure post-logout URI.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 2 High severity · 1 Low severity

Open (3)
Resolved since last review (1)

@jimmychakkalakal
jimmychakkalakal force-pushed the issues/50982-Fix-post-logout-redirect-URIs-in-SecureRedirectUrisEnforcerExecutor branch 3 times, most recently from 6a6c0c1 to caa03d8 Compare September 28, 2026 10:04
@jimmychakkalakal
jimmychakkalakal marked this pull request as ready for review September 28, 2026 11:30
@jimmychakkalakal
jimmychakkalakal requested review from a team as code owners September 28, 2026 11:30
Copilot AI review requested due to automatic review settings September 28, 2026 11:30
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.

Copilot review overview

🟡 Changes recommended

The security-sensitive root URL fallback lacks a test where root selection affects validation.

Review effort: Balanced
Findings: 2 Low severity

Open (2)
Resolved since last review (2)

@abstractj
abstractj commented Oct 9, 2026 •
Copy link
Copy Markdown
Contributor

Hi @jimmychakkalakal — I validated this PR against the two-step bypass scenario from #50982 and all 14 tests pass. The fix is solid: moving the stored ClientModel into verifyPostLogoutRedirectUriUpdate correctly closes both the flow-disabled seed path and the partial-update omission path.

While reviewing the executor layer for the same pattern, I noticed two other executors with a related hardening gap worth flagging:

SecureClientUrisExecutor
On UPDATE, confirmSecureUris(proposed) is called with no fallback to the stored model. A partial update that omits the attributes map skips revalidation of already-stored URI fields — backchannelLogoutUrl, frontChannelLogoutUrl, jwksUri, requestUris, cibaClientNotificationEndpoint, postLogoutRedirectUris, and redirectUris. Unlike #50982 there is no conditional guard that allows seeding a bad value at creation time, so this is not an exploitable bypass — but it means a pre-existing non-compliant URI (e.g. registered before the policy was active) will not be caught when the client is later updated.

SecureClientUrisPatternExecutor
Same gap — validateClientUris(proposed) on UPDATE with no stored-model fallback. Any URI field in the configured clientUriFields absent from a partial update payload is silently skipped.

Neither rises to the level of a vulnerability given that creation-time validation is not bypassable in these executors, but both are worth a follow-up hardening issue to bring them in line with the pattern this PR establishes for SecureRedirectUrisEnforcerExecutor.

For reference, RejectResourceOwnerPasswordCredentialsGrantExecutor and SamlSecureClientUrisExecutor already handle the partial-update case correctly.

Those are no deal breakers but weaknesses that might worth to consider cc @ahus1

@jimmychakkalakal
Copy link
Copy Markdown
Contributor Author

Thanks @abstractj for validating the fix and reviewing the related executors.

I’m happy to open a separate hardening issue for partial-update handling in SecureClientUrisExecutor and SecureClientUrisPatternExecutor and follow up with a separate Issue/PR, keeping this PR focused on #50982.

@ahus1, would this approach work for you?

@abstractj
Copy link
Copy Markdown
Contributor

@jimmychakkalakal please ensure to create those follow up issues linking to this issue, before merging the changes.

abstractj
abstractj previously approved these changes Oct 13, 2026
@jimmychakkalakal
jimmychakkalakal commented Oct 14, 2026 •
Copy link
Copy Markdown
Contributor Author

@abstractj Created follow-up hardening issue #53952 for SecureClientUrisExecutor and SecureClientUrisPatternExecutor, linked to #50982 and this PR.

@jimmychakkalakal
Copy link
Copy Markdown
Contributor Author

Hi @mposolda , Bruno just approved this PR. Whenever you have a moment, could you take a look and merge it if everything looks good on your end? Thanks!

@mposolda mposolda 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.

@jimmychakkalakal @abstractj Thanks for the PR and review!

AFAIK the correct upgrading file for Keycloak upstream main branch should be changes-27_0_0.adoc . Otherwise it is OK to me.

@jimmychakkalakal
Copy link
Copy Markdown
Contributor Author

@jimmychakkalakal @abstractj Thanks for the PR and review!

AFAIK the correct upgrading file for Keycloak upstream main branch should be changes-27_0_0.adoc . Otherwise it is OK to me.

@mposolda Thanks for the comment. I have moved documentation to changes-27_0_0.adoc

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.

🔵 Needs a closer look

Security-sensitive validation and compatibility changes need human confirmation supported by integration-test results.

1 open issue

Review effort: Balanced

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.

🟢 Approval recommended

Static review identified no unresolved blocking issues within the agreed scope; integration tests were not executed.

1 open issue

Review effort: Balanced

mposolda
mposolda previously approved these changes Oct 27, 2026
@mposolda mposolda 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.

@jimmychakkalakal Thanks! LGTM, but there is conflict. Could you rebase please?

@jimmychakkalakal
Copy link
Copy Markdown
Contributor Author

@jimmychakkalakal Thanks! LGTM, but there is conflict. Could you rebase please?

Thanks @mposolda I have rebased the branch with latest main

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.

🟡 Changes recommended

Filtering empty entries from explicit post-logout attributes leaves an HTTP redirect policy bypass.

2 open issues

Review effort: Balanced

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.

🔵 Needs a closer look

Filtering empty post-logout redirect entries skips validation even though they remain persisted, allowing an empty logout redirect to resolve to an attacker-controlled HTTP root URL.

2 open issues

Review effort: Balanced

@mposolda mposolda 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.

@jimmychakkalakal Thanks for the update! Adding inline comment related to copilot.

jimmychakkalakal and others added 7 commits November 5, 2026 15:09
…erExecutor

Validation was previously skipped when standard and implicit flows were disabled. This allowed a bypass where an insecure HTTP post-logout URI could be saved while flows were off, then kept active when flows were re-enabled via a partial update (which omitted the attributes map).

Fixed by running verifyPostLogoutRedirectUriUpdate on every CREATE/UPDATE regardless of flow state. Partial updates missing the attributes map now fall back to stored ClientModel URIs to prevent retaining policy-violating values.

Closes keycloak#50982

Signed-off-by: Jimmy Chakkalakal <jimmy.chakkalakal@ibm.com>
…erExecutor

Validation was previously skipped when standard and implicit flows were disabled. This allowed a bypass where an insecure HTTP post-logout URI could be saved while flows were off, then kept active when flows were re-enabled via a partial update (which omitted the attributes map).

Fixed by running verifyPostLogoutRedirectUriUpdate on every CREATE/UPDATE regardless of flow state. Partial updates missing the attributes map now fall back to stored ClientModel URIs to prevent retaining policy-violating values.

Closes keycloak#50982

Signed-off-by: Jimmy Chakkalakal <jimmy.chakkalakal@ibm.com>
Closes keycloak#50982

Signed-off-by: Jimmy Chakkalakal <jimmy.chakkalakal@ibm.com>
…ents suggested by Bruno

Closes keycloak#50982

Signed-off-by: Jimmy Chakkalakal <jimmy.chakkalakal@ibm.com>
…ents suggested by Bruno

Closes keycloak#50982

Signed-off-by: Jimmy Chakkalakal <jimmy.chakkalakal@ibm.com>
Clarified instructions for handling post-logout URI enforcement and updated information regarding OIDC Client CRs.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: jimmychakkalakal <47317106+jimmychakkalakal@users.noreply.github.com>
Closes keycloak#51275

Signed-off-by: Jimmy Chakkalakal <jimmy.chakkalakal@ibm.com>

# Conflicts:
#	docs/documentation/upgrading/topics/changes/changes-27_0_0.adoc
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.

🟢 Approval recommended

No active review issues are reported for the post-logout redirect URI validation changes.

1 open issue
1 resolved since last review

Review effort: Balanced

@keycloak-github-bot keycloak-github-bot Bot left a comment
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Unreported flaky test detected, please review

@keycloak-github-bot
Copy link
Copy Markdown

Unreported flaky test detected

If the flaky tests below are affected by the changes, please review and update the changes accordingly. Otherwise, a maintainer should report the flaky tests prior to merging the PR.

org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest#testErrorHandlingUnsigned

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.Employee2Servlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest#testErrorHandlingSigned

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.Employee2Servlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest#testAttributes

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.Employee2Servlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest#testNilAttributeValueAttribute

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.Employee2Servlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest#testTokenTimeIsValid

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.SalesPostClockSkewServlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest#testTokenHasExpired

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.SalesPostClockSkewServlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest#testTokenIsNotYetValid

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.SalesPostClockSkewServlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLLogoutAdapterTest#testLogoutDestinationOptionalIfUnsignedRedirect

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.EmployeeServlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLogoutAdapterTest
...

Report flaky test

org.keycloak.testsuite.webauthn.AppInitiatedActionWebAuthnSkipIfExistsTest#processSetupTwice

Keycloak CI - WebAuthn IT

java.lang.RuntimeException: Could not create statement
	at org.jboss.arquillian.junit.Arquillian.methodBlock(Arquillian.java:307)
	at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:160)
	at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:344)
	at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:48)
...

Report flaky test

org.keycloak.testsuite.webauthn.AppInitiatedActionWebAuthnSkipIfExistsTest#proceedSetupWebAuthnLogoutOtherSessionsChecked

Keycloak CI - WebAuthn IT

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: -0.002
  (Session info: chrome=156.0.8078.79)
Build info: version: '4.46.0', revision: 'df5a634 df5a6341cbb5f8f06b836bd595752775627c80dc'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '7.0.0-1019-azure', java.version: '25.0.5'
...

Report flaky test

org.keycloak.testsuite.webauthn.AppInitiatedActionWebAuthnSkipIfExistsTest#cancelSetupWebAuthn

Keycloak CI - WebAuthn IT

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: -0.002
  (Session info: chrome=156.0.8078.79)
Build info: version: '4.46.0', revision: 'df5a634 df5a6341cbb5f8f06b836bd595752775627c80dc'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '7.0.0-1019-azure', java.version: '25.0.5'
...

Report flaky test

@mposolda mposolda 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.

@keycloak-github-bot keycloak-github-bot Bot left a comment
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Unreported flaky test detected, please review

@keycloak-github-bot
Copy link
Copy Markdown

Unreported flaky test detected

If the flaky tests below are affected by the changes, please review and update the changes accordingly. Otherwise, a maintainer should report the flaky tests prior to merging the PR.

org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest#testErrorHandlingUnsigned

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.Employee2Servlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest#testErrorHandlingSigned

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.Employee2Servlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest#testAttributes

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.Employee2Servlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest#testNilAttributeValueAttribute

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.Employee2Servlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLoginResponseHandlingTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest#testTokenTimeIsValid

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.SalesPostClockSkewServlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest#testTokenHasExpired

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.SalesPostClockSkewServlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest#testTokenIsNotYetValid

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.SalesPostClockSkewServlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLClockSkewAdapterTest
...

Report flaky test

org.keycloak.testsuite.adapter.servlet.SAMLLogoutAdapterTest#testLogoutDestinationOptionalIfUnsignedRedirect

Keycloak CI - Adapter IT

org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: 
Can not instantiate Page Object 
class org.keycloak.testsuite.adapter.page.EmployeeServlet
 declared in: 
org.keycloak.testsuite.adapter.servlet.SAMLLogoutAdapterTest
...

Report flaky test

org.keycloak.testsuite.webauthn.AppInitiatedActionWebAuthnSkipIfExistsTest#processSetupTwice

Keycloak CI - WebAuthn IT

java.lang.RuntimeException: Could not create statement
	at org.jboss.arquillian.junit.Arquillian.methodBlock(Arquillian.java:307)
	at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:160)
	at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:344)
	at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:48)
...

Report flaky test

org.keycloak.testsuite.webauthn.AppInitiatedActionWebAuthnSkipIfExistsTest#proceedSetupWebAuthnLogoutOtherSessionsChecked

Keycloak CI - WebAuthn IT

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: -0.002
  (Session info: chrome=156.0.8078.79)
Build info: version: '4.46.0', revision: 'df5a634 df5a6341cbb5f8f06b836bd595752775627c80dc'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '7.0.0-1019-azure', java.version: '25.0.5'
...

Report flaky test

org.keycloak.testsuite.webauthn.AppInitiatedActionWebAuthnSkipIfExistsTest#cancelSetupWebAuthn

Keycloak CI - WebAuthn IT

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: -0.002
  (Session info: chrome=156.0.8078.79)
Build info: version: '4.46.0', revision: 'df5a634 df5a6341cbb5f8f06b836bd595752775627c80dc'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '7.0.0-1019-azure', java.version: '25.0.5'
...

Report flaky test

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.

Secure redirect URI policy can be bypassed for retained post-logout redirects via partial update

4 participants

0