@akanass/rx-otp
Version:
HMAC-based (HOTP) and Time-based (TOTP) One-Time Password manager. Works with Google Authenticator for Two-Factor Authentication.
97 lines (96 loc) • 2.63 kB
TypeScript
export interface HOTPGenerateOptions {
key_format?: 'str' | 'hex';
counter?: number | string;
counter_format?: 'int' | 'hex';
code_digits?: number;
add_checksum?: boolean;
truncation_offset?: number;
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
}
export interface HOTPGenerateValidatedData extends HOTPGenerateOptions {
key: string;
}
export interface OTPVerifyResult {
delta: number | string;
delta_format: 'int' | 'hex';
}
export interface HOTPVerifyOptions {
key_format?: 'str' | 'hex';
window?: number;
counter?: number | string;
counter_format?: 'int' | 'hex';
add_checksum?: boolean;
truncation_offset?: number;
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
previous_otp_allowed?: boolean;
}
export interface HOTPVerifyValidatedData extends HOTPVerifyOptions {
token: string;
key: string;
}
export interface TOTPGenerateOptions {
key_format?: 'str' | 'hex';
time?: number;
timestamp?: number;
code_digits?: number;
add_checksum?: boolean;
truncation_offset?: number;
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
}
export interface TOTPGenerateValidatedData extends TOTPGenerateOptions {
key: string;
}
export interface TOTPVerifyOptions {
key_format?: 'str' | 'hex';
window?: number;
time?: number;
timestamp?: number;
add_checksum?: boolean;
truncation_offset?: number;
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
}
export interface TOTPVerifyValidatedData extends TOTPVerifyOptions {
token: string;
key: string;
}
export interface U2FUriOptions {
time?: number;
code_digits?: number;
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
}
export interface U2FUriValidatedData extends U2FUriOptions {
secret: string;
account_name: string;
issuer: string;
}
export interface U2FGenerateOptions {
time?: number;
timestamp?: number;
code_digits?: number;
add_checksum?: boolean;
truncation_offset?: number;
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
}
export interface U2FGenerateValidatedData extends U2FGenerateOptions {
key: string;
}
export interface U2FVerifyOptions {
window?: number;
time?: number;
timestamp?: number;
add_checksum?: boolean;
truncation_offset?: number;
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
}
export interface U2FVerifyValidatedData extends U2FVerifyOptions {
token: string;
key: string;
}
export interface QrCodeGenerateOptions {
ec_level?: string;
type?: string;
size?: number;
}
export interface QrCodeGenerateValidatedOptions extends QrCodeGenerateOptions {
text: string;
}