blob: 120a09904fcca5f658ee609579a2be4a5272febf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import jwt_decode, { InvalidTokenError } from 'jwt-decode';
interface JWT {
header: Map<string, unknown>;
payload: Map<string, unknown>;
}
export function safe_jwt_decode(raw_jwt: string): JWT {
try {
const header = jwt_decode(raw_jwt, { header: true }) as Map<string, unknown>;
const payload = jwt_decode(raw_jwt) as Map<string, unknown>;
return { header: header, payload: payload };
} catch (e) {
if (e instanceof InvalidTokenError) {
return { header: new Map<string, unknown>(), payload: new Map<string, unknown>() };
} else {
throw e;
}
}
}
|