@hellocoop/web-identity
Version:
Functions for generating and verifying JWT tokens used in the Verified Email Autocomplete protocol
34 lines • 1.35 kB
TypeScript
/**
* Time window for iat validation in seconds (60 seconds as per spec)
*/
export declare const TIME_VALIDATION_WINDOW = 60;
/**
* Gets current Unix timestamp in seconds
* @returns Current time as Unix timestamp
*/
export declare function getCurrentTimestamp(): number;
/**
* Validates that an iat (issued at) claim is within the acceptable time window
* @param iat - Issued at timestamp from JWT payload
* @param windowSeconds - Time window in seconds (default: 60)
* @throws TimeValidationError if iat is outside the acceptable window
*/
export declare function validateIatClaim(iat: number, windowSeconds?: number): void;
/**
* Ensures iat claim is present, setting it to current time if not provided
* @param payload - Token payload that may contain iat
* @returns Updated payload with iat set to current time if it was missing
*/
export declare function ensureIatClaim<T extends {
iat?: number;
}>(payload: T): T & {
iat: number;
};
/**
* Validates iat claim during token verification
* @param iat - Issued at timestamp from JWT payload
* @param windowSeconds - Time window in seconds (default: 60)
* @throws TimeValidationError if iat is missing or outside acceptable window
*/
export declare function validateIatForVerification(iat: number | undefined, windowSeconds?: number): void;
//# sourceMappingURL=time.d.ts.map