Files
HexaHost-GameCloud/packages/auth/src/totp.ts
smueller 58961000eb
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 9s
CI / Go — node-agent tests (push) Failing after 21s
CI / Go — edge-gateway build (push) Successful in 13s
Phase1
2026-06-26 11:31:54 +02:00

22 lines
494 B
TypeScript

import { authenticator } from 'otplib';
export function generateTotpSecret(): string {
return authenticator.generateSecret();
}
export function verifyTotpCode(secret: string, code: string): boolean {
try {
return authenticator.verify({ token: code.replace(/\s+/gu, ''), secret });
} catch {
return false;
}
}
export function buildOtpAuthUrl(
issuer: string,
accountName: string,
secret: string,
): string {
return authenticator.keyuri(accountName, issuer, secret);
}