浏览代码

Merge branch 'bwhitn-fixHOTP'

n1474335 7 年之前
父节点
当前提交
9407809356
共有 4 个文件被更改,包括 26 次插入1 次删除
  1. 1 1
      src/core/config/OperationConfig.js
  2. 1 0
      src/core/operations/OTP.js
  3. 1 0
      test/index.js
  4. 23 0
      test/tests/operations/OTP.js

+ 1 - 1
src/core/config/OperationConfig.js

@@ -3840,7 +3840,7 @@ const OperationConfig = {
     "Generate HOTP": {
         module: "Default",
         description: "The HMAC-based One-Time Password algorithm (HOTP) is an algorithm that computes a one-time password from a shared secret key and an incrementing counter. It has been adopted as Internet Engineering Task Force standard RFC 4226, is the cornerstone of Initiative For Open Authentication (OATH), and is used in a number of two-factor authentication systems.<br><br>Enter the secret as the input or leave it blank for a random secret to be generated.",
-        inputType: "string",
+        inputType: "byteArray",
         outputType: "string",
         args: [
             {

+ 1 - 0
src/core/operations/OTP.js

@@ -1,6 +1,7 @@
 import otp from "otp";
 import Base64 from "./Base64.js";
 
+
 /**
  * One-Time Password operations.
  *

+ 1 - 0
test/index.js

@@ -27,6 +27,7 @@ import "./tests/operations/MorseCode.js";
 import "./tests/operations/MS.js";
 import "./tests/operations/PHP.js";
 import "./tests/operations/NetBIOS.js";
+import "./tests/operations/OTP.js";
 import "./tests/operations/StrUtils.js";
 import "./tests/operations/SeqUtils.js";
 

+ 23 - 0
test/tests/operations/OTP.js

@@ -0,0 +1,23 @@
+/**
+ * OTP HOTP tests.
+ *
+ * @author bwhitn [brian.m.whitney@outlook.com]
+ *
+ * @copyright Crown Copyright 2017
+ * @license Apache-2.0
+ */
+import TestRegister from "../../TestRegister.js";
+
+TestRegister.addTests([
+    {
+        name: "Generate HOTP",
+        input: "12345678901234567890",
+        expectedOutput: "URI: otpauth://hotp/OTPAuthentication?secret=GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ\n\nPassword: 755224",
+        recipeConfig: [
+            {
+                op: "Generate HOTP",
+                args: ["", 32, 6, 0],
+            },
+        ],
+    },
+]);