Skip to content

Commit 4b80de8

Browse files
committed
fix error on invalide session cookie
1 parent 5c7897d commit 4b80de8

3 files changed

Lines changed: 34 additions & 19 deletions

File tree

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11
import { ccdValidateSessionCookie } from '$lib/server/firebase';
2-
import { redirect } from '@sveltejs/kit';
2+
import { redirect, error } from '@sveltejs/kit';
33
import type { LayoutServerLoad } from './$types';
44

55
export const load = (async ({ cookies, url }) => {
6-
const ccdsession = cookies.get('session');
6+
try {
7+
const ccdsession = cookies.get('session');
78

8-
if (!ccdsession) {
9-
throw redirect(307, `/login?redirectTo=${url.pathname}`);
10-
}
9+
if (!ccdsession) {
10+
throw redirect(307, `/login?redirectTo=${url.pathname}`);
11+
}
1112

12-
const decodedClaims = await ccdValidateSessionCookie(ccdsession);
13+
const decodedClaims = await ccdValidateSessionCookie(ccdsession);
1314

14-
if (!decodedClaims) {
15+
if (!decodedClaims) {
16+
throw redirect(307, `/login?redirectTo=${url.pathname}`);
17+
}
18+
19+
return {
20+
user: decodedClaims
21+
};
22+
} catch (error) {
23+
cookies.set('session', "", { expires: new Date(0) });
24+
console.error(error);
1525
throw redirect(307, `/login?redirectTo=${url.pathname}`);
1626
}
17-
18-
return {
19-
user: decodedClaims
20-
};
2127
}) satisfies LayoutServerLoad;

apps/codingcatdev/src/routes/+layout.server.ts

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,21 @@ import { ccdValidateSessionCookie } from '$lib/server/firebase';
22
import type { LayoutServerLoad } from './$types';
33

44
export const load = (async ({ cookies }) => {
5-
const ccdsession = cookies.get('session');
6-
if (!ccdsession) {
7-
return {};
5+
try {
6+
7+
const ccdsession = cookies.get('session');
8+
if (!ccdsession) {
9+
return {};
10+
}
11+
const decodedClaims = await ccdValidateSessionCookie(ccdsession);
12+
return {
13+
user: decodedClaims
14+
};
15+
} catch (error) {
16+
cookies.set('session', "", { expires: new Date(0) });
17+
18+
console.error(error)
19+
return {
20+
};
821
}
9-
const decodedClaims = await ccdValidateSessionCookie(ccdsession);
10-
return {
11-
user: decodedClaims
12-
};
1322
}) satisfies LayoutServerLoad;

apps/codingcatdev/src/routes/login/+page.server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ccdCreateSessionCookie, ccdValidateSessionCookie } from '$lib/server/firebase';
1+
import { ccdCreateSessionCookie } from '$lib/server/firebase';
22
import type { Actions, PageServerLoad } from './$types';
33
import { fail, redirect } from '@sveltejs/kit'
44

0 commit comments

Comments
 (0)