Skip to content

fix(ui): use callback url on auth error page#2003

Merged
kapetr merged 2 commits intomainfrom
fix/use-callback-url-in-auth-error-page
Feb 4, 2026
Merged

fix(ui): use callback url on auth error page#2003
kapetr merged 2 commits intomainfrom
fix/use-callback-url-in-auth-error-page

Conversation

@kapetr
Copy link
Contributor

@kapetr kapetr commented Feb 4, 2026

Summary

After a server auth error (401), the UI shows an error page if a valid token is present to prevent a redirect loop. The user can try logging in again via the provided button, but the callback URL wasn’t being passed along for use after a successful login. This PR fixes that.

Documentation

  • No Docs Needed: a fix

If this PR adds new feature or changes existing. Make sure documentation is adjusted accordingly. If the docs is not needed, please explain why.

Signed-off-by: Petr Kadlec <petr@puradesign.cz>
@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Feb 4, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @kapetr, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a critical bug in the authentication flow where, after a server authentication error, the 'Sign in again' button on the error page failed to preserve the intended callback URL. By correctly passing the redirectTo parameter through the AuthErrorPage and SignInProviders components, this fix ensures that users are seamlessly directed to their original destination following a successful re-authentication attempt, significantly improving the user experience for recovery from authentication issues.

Highlights

  • AuthErrorPage Component Update: The AuthErrorPage component now accepts an optional redirectTo prop, which defaults to the sign-in route, allowing for dynamic redirection after re-authentication.
  • Sign Out Redirection Fix: The 'Sign in again' button within AuthErrorPage has been updated to correctly utilize the redirectTo prop when calling the signOut function, ensuring users are sent to the intended page after re-authenticating.
  • Callback URL Propagation: The SignInProviders component now properly passes the callbackUrl (as redirectTo) to the AuthErrorPage when an existing token is present, preserving the user's intended destination.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • apps/agentstack-ui/src/modules/auth/components/AuthErrorPage.tsx
    • Modified the AuthErrorPage functional component to accept a redirectTo prop of type string (optional), with a default value of routes.signIn().
    • Updated the onClick handler of the 'Sign in again' button to pass the new redirectTo prop to the signOut function, ensuring correct post-sign-in navigation.
  • apps/agentstack-ui/src/modules/auth/components/SignInProviders.tsx
    • When an existing token is detected and AuthErrorPage is rendered, the redirectTo prop (which holds the callbackUrl) is now correctly passed to the AuthErrorPage component.
Activity
  • No human activity (comments, reviews, etc.) has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request aims to fix an issue where the callback URL is lost on the authentication error page by correctly passing it to the AuthErrorPage component. However, it introduces a potential Open Redirect vulnerability as a user-controlled callbackUrl (aliased to redirectTo) is passed to AuthErrorPage and signOut without proper validation. There's also a logic issue where the current implementation redirects directly to the callback URL after signing out, bypassing the necessary login flow. Feedback includes suggestions to address both the security vulnerability and the logic bug, and to improve code clarity.

Signed-off-by: Petr Kadlec <petr@puradesign.cz>
@kapetr kapetr requested a review from PetrBulanek February 4, 2026 09:47
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Feb 4, 2026
@kapetr kapetr merged commit b85e89c into main Feb 4, 2026
8 checks passed
@kapetr kapetr deleted the fix/use-callback-url-in-auth-error-page branch February 4, 2026 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:S This PR changes 10-29 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants