diff --git a/apps/login/app/(login)/login/route.ts b/apps/login/app/(login)/login/route.ts index 52572e7c5f9..c229c738a9b 100644 --- a/apps/login/app/(login)/login/route.ts +++ b/apps/login/app/(login)/login/route.ts @@ -47,13 +47,16 @@ export async function GET(request: NextRequest) { sessions = await loadSessions(ids); } else { console.info("No session cookie found."); - return []; + sessions = []; } // use existing session and hydrate it for oidc if (authRequest && sessions.length) { // if some accounts are available for selection and select_account is set - if (authRequest && authRequest.prompt === Prompt.PROMPT_SELECT_ACCOUNT) { + if ( + authRequest && + authRequest.prompt.includes(Prompt.PROMPT_SELECT_ACCOUNT) + ) { const accountsUrl = new URL("/accounts", request.url); if (authRequest?.id) { accountsUrl.searchParams.set("authRequestId", authRequest?.id); @@ -105,6 +108,10 @@ export async function GET(request: NextRequest) { const loginNameUrl = new URL("/loginname", request.url); if (authRequest?.id) { loginNameUrl.searchParams.set("authRequestId", authRequest?.id); + if (authRequest.loginHint) { + loginNameUrl.searchParams.set("loginName", authRequest.loginHint); + loginNameUrl.searchParams.set("submit", "true"); // autosubmit + } } return NextResponse.redirect(loginNameUrl); diff --git a/apps/login/ui/LoginPasskey.tsx b/apps/login/ui/LoginPasskey.tsx index 5d8591ee528..382e8c21b87 100644 --- a/apps/login/ui/LoginPasskey.tsx +++ b/apps/login/ui/LoginPasskey.tsx @@ -153,8 +153,20 @@ export default function LoginPasskey({ userHandle: coerceToBase64Url(userHandle, "userHandle"), }, }; - return submitLogin(data).then(() => { - return router.push(`/accounts`); + return submitLogin(data).then((resp) => { + return router.push( + `/signedin?` + + new URLSearchParams( + authRequestId + ? { + loginName: resp.factors.user.loginName, + authRequestId, + } + : { + loginName: resp.factors.user.loginName, + } + ) + ); }); } else { setLoading(false); diff --git a/apps/login/ui/PasswordForm.tsx b/apps/login/ui/PasswordForm.tsx index d542f2a0eab..52a1169d8ec 100644 --- a/apps/login/ui/PasswordForm.tsx +++ b/apps/login/ui/PasswordForm.tsx @@ -76,7 +76,19 @@ export default function PasswordForm({ }) ); } else { - return router.push(`/accounts`); + return router.push( + `/signedin?` + + new URLSearchParams( + authRequestId + ? { + loginName: resp.factors.user.loginName, + authRequestId, + } + : { + loginName: resp.factors.user.loginName, + } + ) + ); } }); }