fix: keycloak logout not revoking the session.#5913
Conversation
|
👋 Hi @lamoboos223! Thanks for your contribution to this project. It looks like one or more of your commits are missing a DCO (Developer Certificate of Origin) sign-off. The DCO is a simple way for you to certify that you have the right to submit this code under the project's license. How to fix this: # For future commits, use the -s flag
git commit -s -m "Your commit message"
# To sign off on existing commits in this PR
git rebase HEAD~$(git rev-list --count origin/v2..HEAD) --signoff
git push --force-with-leaseThe 📋 View the failing DCO check for more details For more information about the DCO, visit: https://developercertificate.org/ |
Enhance OIDC support by adding issuer, client ID, and ID token to metadata. Update logout flow to include ID token and client ID in the logout URL. Modify user data structure to accommodate new fields. Signed-off-by: Lama Alosaimi <lamo.boos@hotmail.com>
45a28d5 to
d0c16f2
Compare
|
Hey @lamoboos223 Thanks for your PR, but while it may work with Keycloak, it breaks support for other OIDC providers such as Azure, Google, Gitea, etc. Although OIDC defines |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## v2 #5913 +/- ##
=======================================
Coverage 61.05% 61.05%
=======================================
Files 141 141
Lines 14211 14214 +3
=======================================
+ Hits 8676 8679 +3
Misses 4809 4809
Partials 726 726
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@erka |
There was a problem hiding this comment.
Verdict: request changes
The PR improves OIDC metadata and logout support, but the new logout handling is Keycloak-specific and will break logout for other OIDC providers. Restrict the new logic to Keycloak or ensure full OIDC compatibility. Changes otherwise conform to project standards and are adequately tested.
ui/src/components/NavUser.tsx
- major (L38): The logout flow in NavUser.tsx and related UI updates now always assume Keycloak's
openid-connect/logoutendpoint, and addid_token,client_id, and redirect URI parameters for all OIDC providers. This breaks compatibility with other OIDC providers (Azure, Google, Gitea, etc.), many of which either do not support this endpoint or require a different mechanism. The logout logic should be restricted to Keycloak, or rewritten to detect and handle provider-specific logout flows so as not to break non-Keycloak users.
🤖 Automated review by the Flue PR review agent.
Enhance OIDC support by adding issuer, client ID, and ID token to metadata. Update logout flow to include ID token and client ID in the logout URL. Modify user data structure to accommodate new fields.