Merge 173abaf64a7b4b71718249f71596a79a8832022f into 6a3a370bb15032dbfd1a063af446837b572464f1

This commit is contained in:
vanhci 2026-05-25 13:11:07 +08:00 committed by GitHub
commit 8143de8c72
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -5,6 +5,7 @@
*/
import Operation from "../Operation.mjs";
import OperationError from "../errors/OperationError.mjs";
import * as OTPAuth from "otpauth";
/**
@ -46,6 +47,7 @@ class GenerateHOTP extends Operation {
*
*/
run(input, args) {
try {
const secretStr = new TextDecoder("utf-8").decode(input).trim();
const secret = secretStr ? secretStr.toUpperCase().replace(/\s+/g, "") : "";
@ -62,6 +64,12 @@ class GenerateHOTP extends Operation {
const code = hotp.generate();
return `URI: ${uri}\n\nPassword: ${code}`;
} catch (err) {
if (err instanceof TypeError) {
throw new OperationError("Invalid character found in input. HOTP secrets must be valid Base32 characters (A-Z, 2-7).");
}
throw err;
}
}
}