summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/metadata/parseJWT.ts
blob: a86dacde92f177e95302ff8b3ad920db662a763b (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.toString(parts[0])) as T1,
    JSON.parse(isoBase64URL.toString(parts[1])) as T2,
    parts[2],
  ];
}