mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-13 21:40:45 +00:00
move client code
This commit is contained in:
@@ -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";
|
||||
|
||||
|
||||
@@ -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 };
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user