move client code

This commit is contained in:
peintnermax
2024-09-19 16:29:02 +02:00
parent c82363a5c0
commit ce7f53f90d
3 changed files with 15 additions and 16 deletions

View File

@@ -1,5 +1,5 @@
import { getSessionCookieById } from "@/lib/cookies";
import { isSessionValid, loadMostRecentSession } from "@/lib/session";
import { loadMostRecentSession } from "@/lib/session";
import {
getBrandingSettings,
getLoginSettings,
@@ -11,6 +11,7 @@ import Alert from "@/ui/Alert";
import BackButton from "@/ui/BackButton";
import ChooseSecondFactorToSetup from "@/ui/ChooseSecondFactorToSetup";
import DynamicTheme from "@/ui/DynamicTheme";
import { isSessionValid } from "@/ui/SessionItem";
import UserAvatar from "@/ui/UserAvatar";
import { Session } from "@zitadel/proto/zitadel/session/v2/session_pb";

View File

@@ -1,4 +1,3 @@
import { timestampDate } from "@zitadel/client";
import { Session } from "@zitadel/proto/zitadel/session/v2/session_pb";
import { GetSessionResponse } from "@zitadel/proto/zitadel/session/v2/session_service_pb";
import { getMostRecentCookieWithLoginname } from "./cookies";
@@ -16,16 +15,3 @@ export async function loadMostRecentSession(sessionParams: {
.getSession({ sessionId: recent.id, sessionToken: recent.token }, {})
.then((resp: GetSessionResponse) => resp.session);
}
export function isSessionValid(session: Partial<Session>) {
const validPassword = session?.factors?.password?.verifiedAt;
const validPasskey = session?.factors?.webAuthN?.verifiedAt;
const stillValid = session.expirationDate
? timestampDate(session.expirationDate) > new Date()
: true;
const verifiedAt = validPassword || validPasskey;
const valid = (validPassword || validPasskey) && stillValid;
return { valid, verifiedAt };
}

View File

@@ -1,7 +1,6 @@
"use client";
import { cleanupSession } from "@/lib/server/session";
import { isSessionValid } from "@/lib/session";
import { XCircleIcon } from "@heroicons/react/24/outline";
import { timestampDate } from "@zitadel/client";
import { Session } from "@zitadel/proto/zitadel/session/v2/session_pb";
@@ -10,6 +9,19 @@ import Link from "next/link";
import { useState } from "react";
import { Avatar } from "./Avatar";
export function isSessionValid(session: Partial<Session>) {
const validPassword = session?.factors?.password?.verifiedAt;
const validPasskey = session?.factors?.webAuthN?.verifiedAt;
const stillValid = session.expirationDate
? timestampDate(session.expirationDate) > new Date()
: true;
const verifiedAt = validPassword || validPasskey;
const valid = (validPassword || validPasskey) && stillValid;
return { valid, verifiedAt };
}
export default function SessionItem({
session,
reload,