This commit is contained in:
Max Peintner
2024-12-16 09:36:41 +01:00
parent d7c79c6cb8
commit 9e8b11fb60

View File

@@ -91,47 +91,44 @@ export async function createSessionForIdpAndUpdateCookie(
lifetime, lifetime,
); );
if (createdSession) { if (!createdSession) {
return getSession({ throw "Could not create session";
}
const { session } = await getSession({
sessionId: createdSession.sessionId, sessionId: createdSession.sessionId,
sessionToken: createdSession.sessionToken, sessionToken: createdSession.sessionToken,
}).then((response) => { });
if (response?.session && response.session?.factors?.user?.loginName) {
if (!session || !session.factors?.user?.loginName) {
throw "Could not retrieve session";
}
const sessionCookie: CustomCookieData = { const sessionCookie: CustomCookieData = {
id: createdSession.sessionId, id: createdSession.sessionId,
token: createdSession.sessionToken, token: createdSession.sessionToken,
creationTs: response.session.creationDate creationTs: session.creationDate
? `${timestampMs(response.session.creationDate)}` ? `${timestampMs(session.creationDate)}`
: "", : "",
expirationTs: response.session.expirationDate expirationTs: session.expirationDate
? `${timestampMs(response.session.expirationDate)}` ? `${timestampMs(session.expirationDate)}`
: "", : "",
changeTs: response.session.changeDate changeTs: session.changeDate ? `${timestampMs(session.changeDate)}` : "",
? `${timestampMs(response.session.changeDate)}` loginName: session.factors.user.loginName ?? "",
: "", organization: session.factors.user.organizationId ?? "",
loginName: response.session.factors.user.loginName ?? "",
organization: response.session.factors.user.organizationId ?? "",
}; };
if (authRequestId) { if (authRequestId) {
sessionCookie.authRequestId = authRequestId; sessionCookie.authRequestId = authRequestId;
} }
if (response.session.factors.user.organizationId) { if (session.factors.user.organizationId) {
sessionCookie.organization = sessionCookie.organization = session.factors.user.organizationId;
response.session.factors.user.organizationId;
} }
return addSessionToCookie(sessionCookie).then(() => { return addSessionToCookie(sessionCookie).then(() => {
return response.session as Session; return session as Session;
}); });
} else {
throw "could not get session or session does not have loginName";
}
});
} else {
throw "Could not create session";
}
} }
export type SessionWithChallenges = Session & { export type SessionWithChallenges = Session & {