@e280/authlocal
Version:
User-sovereign login system for everybody
34 lines (33 loc) • 687 B
TypeScript
export type TokenHeader = {
typ: "JWT";
alg: "EdDSA";
};
export type Token = Partial<{
iss: string;
sub: string;
aud: string;
exp: number;
iat: number;
nbf: number;
jti: string;
}>;
export type WebToken<P extends Token = any> = {
header: TokenHeader;
payload: P;
signature: Uint8Array;
};
export type TokenVerifications = {
atTime?: number | null;
allowedIssuers?: string[];
allowedAudiences?: string[];
};
export declare class TokenVerifyError extends Error {
name: string;
}
export type TokenParams = {
expiresAt?: number;
issuedAt?: number;
notBefore?: number;
audience?: string;
issuer?: string;
};