Skip to content

Consolidate simple feedback routes into generic feedbackAction#1992

Open
johanib wants to merge 5 commits intofeature/EB-1795_clear-sessinofrom
feature/EB-1758_declutter-error-handler
Open

Consolidate simple feedback routes into generic feedbackAction#1992
johanib wants to merge 5 commits intofeature/EB-1795_clear-sessinofrom
feature/EB-1758_declutter-error-handler

Conversation

@johanib
Copy link
Copy Markdown
Contributor

@johanib johanib commented May 4, 2026

Prior to this change, there were many 'empty' identical twig templates in the error process. This change replaces them with a 'generic-error' twig template.

Resolves #1758

@johanib johanib linked an issue May 5, 2026 that may be closed by this pull request
@johanib johanib force-pushed the feature/EB-1758_declutter-error-handler branch from c17d304 to 0e48997 Compare May 5, 2026 10:10
@johanib johanib requested a review from kayjoosten May 5, 2026 10:11
@johanib johanib force-pushed the feature/EB-1795_clear-sessino branch from b50a07a to f6b3d4a Compare May 5, 2026 12:16
johanib added 3 commits May 5, 2026 14:22
feedbackInfo was stored as a flat dict in $_SESSION['feedbackInfo'] and
merged with existing data on each write. This meant info collected
during one auth flow (e.g. which IdP was involved) could appear on error
pages in a completely separate flow.

Additionally, currentServiceProvider and currentIdentityProvider were
never cleared from the session after a successful login, so they would
show up on error pages for unrelated early errors.

The fix:
- feedbackInfo is now keyed per SAML request ID so each auth flow has
  its own isolated bucket with no merging across flows
- clearFlowContext() is called by ProcessedAssertionConsumer after a
  successful auth, clearing all flow context from the session
- All session access moved from raw $_SESSION to the Symfony session
- Session ops for feedbackInfo and flow context are centralised in a new
  FeedbackStateHelper class, split out from ProcessingStateHelper
- FeedbackStateHelper is wired through DiContainerRuntime instead of the
  legacy DiContainer
Prior to this change, there were many 'empty' identical twig templates in the error process.
This change replaces them with a 'generic-error' twig template.

Resolves #1758
These templates were not using the 'new' translation key convention yet.
(the old translation keys are not removed, because `invalid-acs-location` still references them).
@johanib johanib force-pushed the feature/EB-1758_declutter-error-handler branch from 0e48997 to edf1931 Compare May 5, 2026 12:55
Comment thread CHANGELOG.md
Comment thread CHANGELOG.md
@johanib johanib force-pushed the feature/EB-1758_declutter-error-handler branch from edf1931 to 5c9e561 Compare May 5, 2026 13:51
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.

De-clutter the Symfony error reporting setup

2 participants