summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/metadata/parseJWT.ts
blob: e4dd8f5148837011b447e5cde3eb219411ca89f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
import base64url from 'base64url';

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