From 9e8b11fb60b3bb614443c2245d610ec339b7d2d4 Mon Sep 17 00:00:00 2001 From: Max Peintner Date: Mon, 16 Dec 2024 09:36:41 +0100 Subject: [PATCH] clean --- apps/login/src/lib/server/cookie.ts | 75 ++++++++++++++--------------- 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/apps/login/src/lib/server/cookie.ts b/apps/login/src/lib/server/cookie.ts index ab1513ac691..91447174f67 100644 --- a/apps/login/src/lib/server/cookie.ts +++ b/apps/login/src/lib/server/cookie.ts @@ -91,47 +91,44 @@ export async function createSessionForIdpAndUpdateCookie( lifetime, ); - if (createdSession) { - return getSession({ - sessionId: createdSession.sessionId, - sessionToken: createdSession.sessionToken, - }).then((response) => { - if (response?.session && response.session?.factors?.user?.loginName) { - const sessionCookie: CustomCookieData = { - id: createdSession.sessionId, - token: createdSession.sessionToken, - creationTs: response.session.creationDate - ? `${timestampMs(response.session.creationDate)}` - : "", - expirationTs: response.session.expirationDate - ? `${timestampMs(response.session.expirationDate)}` - : "", - changeTs: response.session.changeDate - ? `${timestampMs(response.session.changeDate)}` - : "", - loginName: response.session.factors.user.loginName ?? "", - organization: response.session.factors.user.organizationId ?? "", - }; - - if (authRequestId) { - sessionCookie.authRequestId = authRequestId; - } - - if (response.session.factors.user.organizationId) { - sessionCookie.organization = - response.session.factors.user.organizationId; - } - - return addSessionToCookie(sessionCookie).then(() => { - return response.session as Session; - }); - } else { - throw "could not get session or session does not have loginName"; - } - }); - } else { + if (!createdSession) { throw "Could not create session"; } + + const { session } = await getSession({ + sessionId: createdSession.sessionId, + sessionToken: createdSession.sessionToken, + }); + + if (!session || !session.factors?.user?.loginName) { + throw "Could not retrieve session"; + } + + const sessionCookie: CustomCookieData = { + id: createdSession.sessionId, + token: createdSession.sessionToken, + creationTs: session.creationDate + ? `${timestampMs(session.creationDate)}` + : "", + expirationTs: session.expirationDate + ? `${timestampMs(session.expirationDate)}` + : "", + changeTs: session.changeDate ? `${timestampMs(session.changeDate)}` : "", + loginName: session.factors.user.loginName ?? "", + organization: session.factors.user.organizationId ?? "", + }; + + if (authRequestId) { + sessionCookie.authRequestId = authRequestId; + } + + if (session.factors.user.organizationId) { + sessionCookie.organization = session.factors.user.organizationId; + } + + return addSessionToCookie(sessionCookie).then(() => { + return session as Session; + }); } export type SessionWithChallenges = Session & {