summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/metadata/parseJWT.ts
blob: 3b04aeac5a8ae227fdc782148cfdce28012bbb8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
import { isoBase64URL } from '../helpers/iso/index.ts';

/**
 * Process a JWT into Javascript-friendly data structures
 */
export function parseJWT<T1, T2>(jwt: string): [T1, T2, string] {
  const parts = jwt.split('.');
  return [
    JSON.parse(isoBase64URL.toUTF8String(parts[0])) as T1,
    JSON.parse(isoBase64URL.toUTF8String(parts[1])) as T2,
    parts[2],
  ];
}