From a10ed84d6a89f7745c28a24a04b758cee1336f5e Mon Sep 17 00:00:00 2001 From: MrMelon54 Date: Thu, 14 Dec 2023 11:39:45 +0000 Subject: [PATCH] Do not crash if jwt token cannot be parsed --- src/App.svelte | 1 + src/stores/login.ts | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/App.svelte b/src/App.svelte index 8625c21..088579c 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -28,6 +28,7 @@ let accessToken = login?.tokens?.access; if (accessToken == null) return []; let jwt = parseJwt(accessToken); + if(!jwt) return []; return jwt.per.filter((x: string) => x.startsWith("domain:owns=")).map((x: string) => x.slice("domain:owns=".length)); } diff --git a/src/stores/login.ts b/src/stores/login.ts index 182fba8..6471b3b 100644 --- a/src/stores/login.ts +++ b/src/stores/login.ts @@ -32,7 +32,9 @@ export function getBearer() { } export function parseJwt(token: string) { - const base64Url = token.split(".")[1]; + const tokenParts = token.split("."); + if(tokenParts.length !== 2) return null; + const base64Url = tokenParts[1]; const base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/"); const jsonPayload = decodeURIComponent( window