redirect from signedin page

This commit is contained in:
peintnermax
2023-08-30 15:26:25 +02:00
parent f1b8ff51c7
commit 5da274cecf
2 changed files with 25 additions and 7 deletions

View File

@@ -1,10 +1,21 @@
import { getSession, server } from "#/lib/zitadel";
import { createCallback, getSession, server } from "#/lib/zitadel";
import UserAvatar from "#/ui/UserAvatar";
import { getMostRecentCookieWithLoginname } from "#/utils/cookies";
import { redirect } from "next/navigation";
import { NextResponse } from "next/server";
async function loadSession(loginName: string) {
async function loadSession(loginName: string, authRequestId?: string) {
const recent = await getMostRecentCookieWithLoginname(`${loginName}`);
if (authRequestId) {
console.log(authRequestId);
return createCallback(server, {
authRequestId,
session: { sessionId: recent.id, sessionToken: recent.token },
}).then(({ callbackUrl }) => {
return redirect(callbackUrl);
});
}
return getSession(server, recent.id, recent.token).then((response) => {
if (response?.session) {
return response.session;
@@ -13,8 +24,8 @@ async function loadSession(loginName: string) {
}
export default async function Page({ searchParams }: { searchParams: any }) {
const { loginName } = searchParams;
const sessionFactors = await loadSession(loginName);
const { loginName, authRequestId } = searchParams;
const sessionFactors = await loadSession(loginName, authRequestId);
return (
<div className="flex flex-col items-center space-y-4">

View File

@@ -50,9 +50,16 @@ export default function SessionItem({
href={
validUser
? `/signedin?` +
new URLSearchParams({
loginName: session.factors?.user?.loginName as string,
})
new URLSearchParams(
authRequestId
? {
loginName: session.factors?.user?.loginName as string,
authRequestId,
}
: {
loginName: session.factors?.user?.loginName as string,
}
)
: `/loginname?` +
new URLSearchParams(
authRequestId