feat(auth): standalone shell-less /set-password page for SSO recovery (#1544)#1479
Merged
Merged
Conversation
… (#1544) The "set a recovery local password" affordance for SSO-as-owner entry lived inside the full-shell profile page, gated by `?recovery_needed=true` (banner + scroll-to-card). An auth surface should be standalone and shell-less like login/reset-password — that's the conventional shape. - Add SetPasswordPage (AuthLayout, outside ProtectedRoute) at /set-password; reads `?next=`, calls useAuth().setInitialPassword(), redirects to a sanitised same-origin `next` on success. - Strip the recovery banner / scroll / `useRecoveryNeededFlag` from ProfilePage; its PasswordCard still offers "set local password" for any credential-less user. Pairs with framework: the cloud sso-exchange now redirects to `/_console/set-password?next=…`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
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.
Why
After SSO-as-owner entry on a per-environment runtime, a user with no local
credentialaccount is sent to "set a recovery password". That affordance lived inside the full-shell profile page (/system/profile?recovery_needed=true— banner + auto-scroll to the password card). An auth surface should be standalone and shell-less, likelogin/reset-password. This makes it so.Changes
SetPasswordPageat/set-password— wrapped inAuthLayout, rendered outsideProtectedRoute(the cloudsso-exchangealready set the session cookie). Reads?next=, callsuseAuth().setInitialPassword(), and redirects to a sanitised same-originnexton success. Shows an expired-session fallback with a sign-in link.ProfilePage— drop the recovery banner, scroll-to-card effect, anduseRecoveryNeededFlaghook (+ now-unusedAlertTitle/ShieldAlertimports). ItsPasswordCardstill offers "set local password" for any credential-less user.Pairs with framework
objectstack-ai/framework#1577 — the cloud
auth-proxysso-exchangenow redirects to/_console/set-password?next=…(instead of the profile page), and adds the missingset-initial-passwordendpoint on per-environment runtimes (the original 404).Verification
tsc --noEmitclean (apps/console)recovery_needed/profile-recovery-banner🤖 Generated with Claude Code