Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #34027
This PR signs and encodes the value of the
AUTH_SESSION_ID
cookie.The new format for the cookie will be:
base64({auth_session_id}.base64(HS512({auth_session_id})))
.The cookie is signed using the HS512 algorithm.
The old format (which contains only the
auth_session_id
) will no longer be supported. This could lead the loss of auth sessions, during migration in clustered environments. To prevent this, we could validate both formats of the cookie in an initial release (the signature would be useless) and remove support for the old format in a subsequent release. WDYT?This PR should not affect existing user sessions.
The signature is stored as an attribute in the Keycloak Session to avoid re-validating it for each request.
I tested this PR locally using the
MultipleTabsLoginTest
and measured the request times before and after the PR changes. No noticeable performance issues were observed in the requests that sign the cookie and validate the signature.