mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-12 07:24:51 +00:00
handle account select
This commit is contained in:
@@ -45,15 +45,21 @@ export async function GET(request: NextRequest) {
|
|||||||
if (authRequestId && sessionId) {
|
if (authRequestId && sessionId) {
|
||||||
const cookie = sessionCookies.find((cookie) => cookie.id === sessionId);
|
const cookie = sessionCookies.find((cookie) => cookie.id === sessionId);
|
||||||
|
|
||||||
const session = {
|
if (cookie && cookie.id && cookie.token) {
|
||||||
sessionId: cookie?.id,
|
const session = {
|
||||||
sessionToken: cookie?.token,
|
sessionId: cookie?.id,
|
||||||
};
|
sessionToken: cookie?.token,
|
||||||
const { callbackUrl } = await createCallback(server, {
|
};
|
||||||
authRequestId,
|
const { callbackUrl } = await createCallback(server, {
|
||||||
session,
|
authRequestId,
|
||||||
});
|
session,
|
||||||
return NextResponse.redirect(callbackUrl);
|
});
|
||||||
|
return NextResponse.redirect(callbackUrl);
|
||||||
|
} else {
|
||||||
|
const accountsUrl = new URL("/accounts", request.url);
|
||||||
|
accountsUrl.searchParams.set("authRequestId", authRequestId);
|
||||||
|
return NextResponse.redirect(accountsUrl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (authRequestId) {
|
if (authRequestId) {
|
||||||
const { authRequest } = await getAuthRequest(server, { authRequestId });
|
const { authRequest } = await getAuthRequest(server, { authRequestId });
|
||||||
@@ -85,10 +91,6 @@ export async function GET(request: NextRequest) {
|
|||||||
// check for loginHint, userId hint sessions
|
// check for loginHint, userId hint sessions
|
||||||
let selectedSession = findSession(sessions, authRequest);
|
let selectedSession = findSession(sessions, authRequest);
|
||||||
|
|
||||||
// if (!selectedSession) {
|
|
||||||
// selectedSession = sessions[0]; // TODO: remove
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (selectedSession && selectedSession.id) {
|
if (selectedSession && selectedSession.id) {
|
||||||
const cookie = sessionCookies.find(
|
const cookie = sessionCookies.find(
|
||||||
(cookie) => cookie.id === selectedSession?.id
|
(cookie) => cookie.id === selectedSession?.id
|
||||||
@@ -106,17 +108,13 @@ export async function GET(request: NextRequest) {
|
|||||||
return NextResponse.redirect(callbackUrl);
|
return NextResponse.redirect(callbackUrl);
|
||||||
} else {
|
} else {
|
||||||
const accountsUrl = new URL("/accounts", request.url);
|
const accountsUrl = new URL("/accounts", request.url);
|
||||||
if (authRequest?.id) {
|
accountsUrl.searchParams.set("authRequestId", authRequestId);
|
||||||
accountsUrl.searchParams.set("authRequestId", authRequest?.id);
|
|
||||||
}
|
|
||||||
|
|
||||||
return NextResponse.redirect(accountsUrl);
|
return NextResponse.redirect(accountsUrl);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const accountsUrl = new URL("/accounts", request.url);
|
const accountsUrl = new URL("/accounts", request.url);
|
||||||
if (authRequest?.id) {
|
accountsUrl.searchParams.set("authRequestId", authRequestId);
|
||||||
accountsUrl.searchParams.set("authRequestId", authRequest?.id);
|
|
||||||
}
|
|
||||||
|
|
||||||
return NextResponse.redirect(accountsUrl);
|
return NextResponse.redirect(accountsUrl);
|
||||||
// return NextResponse.error();
|
// return NextResponse.error();
|
||||||
|
|||||||
Reference in New Issue
Block a user