xotp
Version:
One-Time Password (HOTP/TOTP) library for Node.js, Deno and Bun, with support for Google Authenticator.
51 lines (50 loc) • 1.51 kB
TypeScript
import { HOTPOptions, Algorithm } from "@src/types";
import { Secret } from "./secret";
declare class HOTP {
algorithm: Algorithm;
counter: number;
digits: number;
window: number;
issuer: string;
account: string;
constructor({ algorithm, window, counter, digits, issuer, account, }?: Partial<HOTPOptions>);
get defaults(): Readonly<HOTPOptions>;
generate({ secret, counter, algorithm, digits, }: {
secret: Secret;
counter?: number;
algorithm?: Algorithm;
digits?: number;
}): string;
validate({ token, secret, counter, algorithm, digits, window, }: {
token: string;
secret: Secret;
counter?: number;
algorithm?: Algorithm;
digits?: number;
window?: number;
}): boolean;
compare({ token, secret, counter, digits, algorithm, window, }: {
token: string;
secret: Secret;
counter?: number;
digits?: number;
algorithm?: Algorithm;
window?: number;
}): number | null;
equals({ token, secret, counter, algorithm, digits, }: {
token: string;
secret: Secret;
counter?: number;
algorithm?: Algorithm;
digits?: number;
}): boolean;
keyUri({ secret, account, issuer, algorithm, counter, digits, }: {
secret: Secret;
account: string;
issuer?: string;
algorithm?: Algorithm;
counter?: number;
digits?: number;
}): string;
}
export { HOTP };