Preserve pending OIDC interaction during signup - #562
Merged
notquitenothing merged 2 commits intoSep 14, 2026
Merged
notquitenothing merged 2 commits into
notquitenothing merged 2 commits into
Conversation
Keep the existing authorization interaction when registration starts from an application login. Only create an internal interaction when no interaction is available, preserving the original client callback after signup. AI assistance: OpenCode (Hephaestus) identified the faulty branch, removed it, and ran regression checks and browser QA.
There was a problem hiding this comment.
🟢 Approval recommended
The change is a minimal, targeted removal that aligns registration’s interaction handling with login behavior and preserves the intended OIDC authorization context.
Pull request overview
This PR updates the registration page initialization flow to preserve an existing, pending OIDC interaction when users navigate from login to signup, ensuring signup resumes the original client application’s authorization context instead of replacing it with an internal-client interaction.
Changes:
- Removed the registration initializer branch that discarded an existing (but incomplete) interaction by creating a new internal interaction.
- Kept the existing behavior of redirecting immediately when
successRedirectis present and creating an interaction only when the interaction session is missing.
File summaries
| File | Description |
|---|---|
| frontend/src/app/pages/registration/registration.component.ts | Stops replacing pending OIDC interactions during signup initialization so registration can continue the original client flow. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Preserve an existing, unfinished OIDC interaction when a user navigates from login to signup. This allows registration to complete the authorization flow initiated by the application.
Standalone signup continues to create an internal interaction when no interaction exists.
Description
Problem
When a user starts login from an OIDC client application and selects Sign Up on VoidAuth,
RegistrationComponent.ngOnInit()checks/api/interaction/exists.A response of
200withsuccessRedirect: nullmeans an interaction exists but authentication has not completed. Previously, the registration page discarded that interaction by callingcreateInteraction(true).This starts a new authorization request for
auth_internal_client, replacing the original application's authorization context. After registration, the browser follows VoidAuth's internal callback toDEFAULT_REDIRECTorAPP_URLinstead of returning to the application.This causes end-user to instead of being redirected to the application's page after signing up to the VoidAuth's page. This behavior does not persist on user that are already logged in/started signing in.
Changes
Remove the branch that creates a replacement interaction when an existing interaction has not yet completed.
This matches the login page's handling:
Steps to reproduce:
Before: Registration returns to VoidAuth's default destination.
Expected: Registration resumes the original application's authorization flow, including any applicable consent or other required steps.
Validation
Related Tickets & Documents
None was related as far as I know prior to the date of opening this PR.
AI Usage
AI assistance: OpenCode (Hephaestus) identified the faulty branch, removed it, and ran regression checks and browser QA.
Screenshots
None.