跳到主要内容

decodeJWTPayload()

function decodeJWTPayload<T>(token): T;

Defined in: packages/utils/src/crypto/decodeJWTPayload.ts:32

解码 JWT token 的 payload 段

只做解码,不校验签名,因此结果不可用于任何鉴权判断。

Type Parameters​

Type ParameterDefault typeDescription
TRecord<string, unknown>期望的 payload 结构,由调用方声明(默认 Record<string, unknown>)

Parameters​

ParameterTypeDescription
tokenstring形如 header.payload.signature 的 JWT 字符串

Returns​

T

解析后的 payload

Throws​

结构不是三段时抛 JWT is not valid: not a JWT structure

Throws​

base64 或 JSON 解析失败时抛 JWT payload decode failed: ...,原始错误挂在 cause 上

Example​

interface Claims `{ sub: string; exp: number }`
const claims = decodeJWTPayload<Claims>(token);
**注意:** payload 按 UTF-8 解码,非 ASCII 声明(中文、emoji)不会乱码
**注意:** 返回值未经运行时校验,`T` 只是类型断言