Files
zitadel/apps/login/app/(login)/password/page.tsx

37 lines
1.1 KiB
TypeScript
Raw Normal View History

import { getSession, server } from "#/lib/zitadel";
import PasswordForm from "#/ui/PasswordForm";
2023-04-19 10:37:35 +02:00
import UserAvatar from "#/ui/UserAvatar";
import { getMostRecentCookieWithLoginname } from "#/utils/cookies";
2023-04-03 13:39:51 +02:00
async function loadSession(loginName: string) {
2023-05-19 10:13:05 +02:00
try {
const recent = await getMostRecentCookieWithLoginname(`${loginName}`);
2023-05-19 10:13:05 +02:00
return getSession(server, recent.id, recent.token).then(({ session }) => {
return session;
});
} catch (error) {
throw new Error("Session could not be loaded!");
}
}
export default async function Page({ searchParams }: { searchParams: any }) {
const { loginName } = searchParams;
const sessionFactors = await loadSession(loginName);
2023-04-03 13:39:51 +02:00
return (
<div className="flex flex-col items-center space-y-4">
2023-05-17 15:25:25 +02:00
<h1>{sessionFactors.factors?.user?.displayName ?? "Password"}</h1>
2023-04-03 13:39:51 +02:00
<p className="ztdl-p mb-6 block">Enter your password.</p>
2023-05-17 15:25:25 +02:00
<UserAvatar
loginName={loginName ?? sessionFactors.factors?.user?.loginName}
displayName={sessionFactors.factors?.user?.displayName}
showDropdown
></UserAvatar>
<PasswordForm />
2023-04-03 13:39:51 +02:00
</div>
);
}