@hellocoop/web-identity
Version:
Functions for generating and verifying JWT tokens used in the Verified Email Autocomplete protocol
56 lines • 2.18 kB
TypeScript
/**
* Parses a JWT and returns its header and payload
* @param token - JWT string to parse
* @returns Object containing decoded header and payload
* @throws TokenFormatError if JWT format is invalid
*/
export declare function parseJWT(token: string): {
header: any;
payload: any;
};
/**
* Validates that all required claims are present in a payload
* @param payload - JWT payload to validate
* @param requiredClaims - Array of required claim names
* @throws MissingClaimError if any required claim is missing
*/
export declare function validateRequiredClaims(payload: any, requiredClaims: string[]): void;
/**
* Validates email claim in JWT payload
* @param payload - JWT payload containing email claim
* @throws MissingClaimError if email claim is missing
* @throws EmailValidationError if email format is invalid
*/
export declare function validateEmailClaim(payload: any): void;
/**
* Validates email_verified claim in JWT payload
* @param payload - JWT payload containing email_verified claim
* @throws MissingClaimError if email_verified claim is missing
* @throws EmailValidationError if email_verified is not true
*/
export declare function validateEmailVerifiedClaim(payload: any): void;
/**
* Validates JWT header contains required fields
* @param header - JWT header to validate
* @param requiredFields - Array of required header field names
* @throws TokenFormatError if any required field is missing
*/
export declare function validateJWTHeader(header: any, requiredFields: string[]): void;
/**
* Validates that JWT type matches expected value
* @param header - JWT header containing typ field
* @param expectedType - Expected token type
* @throws TokenFormatError if type doesn't match
*/
export declare function validateJWTType(header: any, expectedType: string): void;
/**
* Parses SD-JWT+KB token by splitting on tilde separator
* @param token - SD-JWT+KB token string
* @returns Object containing SD-JWT and KB-JWT parts
* @throws TokenFormatError if format is invalid
*/
export declare function parsePresentationToken(token: string): {
sdJwt: string;
kbJwt: string;
};
//# sourceMappingURL=validation.d.ts.map