Do not crash if jwt token cannot be parsed

This commit is contained in:
Melon 2023-12-14 11:39:45 +00:00
parent 716db16f37
commit a10ed84d6a
Signed by: melon
GPG Key ID: 6C9D970C50D26A25
2 changed files with 4 additions and 1 deletions

View File

@ -28,6 +28,7 @@
let accessToken = login?.tokens?.access; let accessToken = login?.tokens?.access;
if (accessToken == null) return []; if (accessToken == null) return [];
let jwt = parseJwt(accessToken); 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)); return jwt.per.filter((x: string) => x.startsWith("domain:owns=")).map((x: string) => x.slice("domain:owns=".length));
} }
</script> </script>

View File

@ -32,7 +32,9 @@ export function getBearer() {
} }
export function parseJwt(token: string) { 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 base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/");
const jsonPayload = decodeURIComponent( const jsonPayload = decodeURIComponent(
window window